我有一個面板AutoScroll
設置爲true
。其中,我正在編程添加ComboBox
控件。如果我添加了足夠的控件以超過面板的可視大小,則會出現滾動條(目前爲止非常好)。但是,如果我打開可視區域底部附近的組合框之一,組合列表將無法正確顯示,並且可滾動區域似乎會擴大。這導致所有控件被「拉」到面板的新底部,頂部有一些新的空白區域。如果我繼續點擊面板底部的下拉菜單,則可滾動區域將繼續無限擴展。我將控件固定在左側,右側和頂部,所以我不認爲涉及錨定。是否有明顯的可能導致這種情況?在可滾動面板中導致問題的組合框
更新:看起來問題在於將控件固定在右側。如果我不靠右邊,那麼我不會得到奇怪的行爲。但是,如果沒有正確的錨定,控件會被滾動條截斷。
這裏有一個簡單的測試情況下,我建立了一個顯示問題:
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);
}
如果滾動面板的底部,並點擊組合框的底部附近你會發現奇怪的行爲。
什麼平臺? Silverlight的? WPF?閃?的WinForms? ASP? (etc.) – 2010-11-08 21:24:03
Winforms,對不起,因爲沒有包含該標籤。 – Dennis 2010-11-08 21:35:58
我試過你的測試代碼,沒有看到你所描述的任何東西。你正在使用哪個版本的Visual Studio? – stone 2010-11-09 18:14:48