Trong bảng điều khiển, tôi vẽ các nút điều khiển như vị trí nút/hộp văn bản bắt đầu (0,0) trong bảng điều khiển. Các điều khiển này là vô hình và vô hiệu hóa khi bắt đầu. Tôi có một nút bên ngoài bảng điều khiển làm cho các nút/hộp văn bản này hiển thị khi được nhấn và định vị chúng ở vị trí mới trong bảng điều khiển.vẽ một nút trong bảng điều khiển winform trong khi bảng điều khiển được cuộn
Vấn đề là nếu người dùng cuộn bảng điều khiển đến một số (x, y) và sau đó nhấn nút 'hiển thị' vị trí mới (x, y) của nút được tính từ vị trí hiện tại (x, y) của bảng điều khiển - không phải từ đầu (0,0) của bảng điều khiển.
Tôi tự hỏi nếu đây là hành vi chính xác của bảng điều khiển và rằng để khắc phục điều này tôi cần phải xem xét các this.VerticalScroll.Value
như một (x, y) bù đắp khi tôi tái định vị các nút.
Bạn cần phải sử dụng thuộc tính AutoScrollPosition của bảng điều khiển để điều chỉnh Vị trí của nút. –
Hình minh họa hình ảnh sẽ giúp hiển thị hành vi mong đợi và hiện tại. – Neolisk
tôi có một bức ảnh nhưng không thể đăng nó ... cần danh tiếng hơn trên SO. @HansPassant Từ MSDN AutoScrollPosition trông giống như những gì tôi cần. MyButton.Location = new Point ( 0 + panel1.AutoScrollPosition.X, 0 + panel1.AutoScrollPosition.Y); – Davvit