Tôi có một bảng điều khiển với AutoScroll
được đặt thành true
. Trong đó, tôi lập trình thêm các điều khiển ComboBox
. Nếu tôi thêm đủ điều khiển để vượt quá kích thước có thể xem của bảng điều khiển thì thanh cuộn sẽ xuất hiện (cho đến nay rất tốt). Tuy nhiên, nếu tôi mở một trong các hộp kết hợp gần cuối khu vực có thể xem, danh sách kết hợp không được hiển thị chính xác và vùng có thể cuộn có vẻ được mở rộng. Điều này dẫn đến tất cả các điều khiển được "kéo" đến đáy mới của bảng điều khiển với một số khoảng trống mới ở trên cùng. Nếu tôi tiếp tục nhấn vào menu thả xuống ở cuối bảng, vùng có thể cuộn sẽ tiếp tục mở rộng vô thời hạn. Tôi đang neo các điều khiển ở bên trái, bên phải và trên, vì vậy tôi không nghĩ rằng việc neo đậu có liên quan. Có điều gì rõ ràng có thể gây ra điều này không?Hộp kết hợp trong bảng điều khiển có thể cuộn gây ra sự cố
Cập nhật: Có vẻ như vấn đề nằm trong việc kiểm soát các điều khiển ở bên phải. Nếu tôi không neo bên phải thì tôi không có hành vi lạ lùng. Tuy nhiên, không phải thả neo điều khiển sẽ bị cắt bởi thanh cuộn.
Dưới đây là một trường hợp thử nghiệm đơn giản tôi đã xây dựng cho thấy vấn đề này:
public Form1()
{
InitializeComponent();
Panel panel = new Panel();
panel.Size = new Size(80, 200);
panel.AutoScroll = true;
for (int i = 0; i < 10; ++i)
{
ComboBox cb = new ComboBox();
cb.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
cb.Items.Add("Option 1");
cb.Items.Add("Option 2");
cb.Items.Add("Option 3");
cb.Items.Add("Option 4");
cb.Location = new Point(0, i * 24);
panel.Controls.Add(cb);
}
Controls.Add(panel);
}
Nếu bạn di chuyển dưới cùng của bảng điều khiển và bấm vào các hộp combo gần phía dưới bạn sẽ nhận thấy những hành vi kỳ lạ.
nền tảng nào? silverlight? wpf? đèn flash? winforms? asp? (v.v.) –
Winforms, xin lỗi vì không bao gồm thẻ đó trước đó. – Dennis
Tôi đã thử mã thử nghiệm của bạn và không thấy bất cứ điều gì giống như những gì bạn mô tả. Bạn đang sử dụng phiên bản Visual Studio nào? – stone