簡體   English   中英

Windows窗體中的最大組合框項目

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM