[英]Maximum Combobox items in Windows Forms
我需要一個可以有大量項目(大約700個)的組合框,但似乎組合框可以包含多少項目(100!)。 有沒有辦法可以延長這種限制?
更新:
我不能在這里解釋范圍,但搜索框不合適。
如果MaxDropDownItems設置為10,包含20個項目,則它提供了一個滾動條來訪問其他10個項目,但是如果超過100項則不清楚會發生什么。
不幸的是,它並不像在基於數據庫填充的那樣在那里推送100多個項目那么簡單。 但是,幸運的是,我們有一個測試團隊!
我會在適當的時候發布測試結果。
ComboBox
可以輕松包含數千個項目。 您指的100限制是出現ComboBox
下拉列表時顯示的可見部分。
請注意,性能與ComboBox
正在填充的數據類型有關; 復雜對象與簡單字符串值。 WinForms中不存在項目的虛擬化,就像在WPF / SL中一樣。
正如GvS所指出的, MaxDropDownItems屬性是顯示下拉部分時的最大可見項數。
因此,可以顯示700個項目(雖然對用戶來說不是很好)。
您可以使用如下所示的AutoCompleteMode屬性來啟用過濾:
AutoCompleteStringCollection collection = new AutoCompleteStringCollection();
for (int i = 0; i < 1000; i++)
{
string item = string.Format("Item {0}", i.ToString());
collection.Add(item);
comboBox1.Items.Add(item);
}
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
comboBox1.AutoCompleteCustomSource = collection;
組合框的UI不是為了讓用戶從1000個元素的列表中進行選擇而設計的。 我個人認為組合框中的20個項目已經太多了。 但是如果你想添加700個項目,則沒有技術限制。
如果您選擇能夠更輕松地選擇項目的內容,您的用戶會更高興。 (提示:帶搜索框的內容)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.