我使用comboBox.Items.Add(entry);
將項目添加到組合框。但是我怎樣才能避免組合框中的重複條目(即同名條目)。是否有任何的lib功能組合框重複條目
Q
組合框重複條目
2
A
回答
11
檢查的項目加入之前:
if (!comboBox.Items.Contains(entry))
comboBox.Items.Add(entry);
5
的Items
集合有一個Contains
方法
if (!comboBox.Items.Contains(entry)) {
comboBox.Items.Add(entry);
}
的ComboBox.Items
屬性是System.Windows.Forms.ComboBox.ObjectCollection
類型,它聲明像這樣的Contains
方法
public bool Contains(object value)
如果你想使用AddRange
,你必須提供一個數組中的項目。因此,您必須確保此數組不包含重複項。此外,如果ComboBox
已包含項目,則必須確保此數組不包含相同的項目。
讓我們首先假設ComboBox
是空的,您的項目是由一些枚舉給出(這可能是比如List<T>
或數組):
comboBox.Items.AddRange(
itemsToAdd
.Distinct()
.ToArray()
);
你必須在頂部有一個using System.Linq;
你的代碼。你也可能想訂購這些物品。我認爲他們是string
類型:
comboBox.Items.AddRange(
itemsToAdd
.Distinct()
.OrderBy(s => s)
.ToArray()
);
如果ComboBox已包含的項目,你將不得不從添加的項目
comboBox.Items.AddRange(
itemsToAdd
.Except(comboBox.Items.Cast<string>())
.Distinct()
.OrderBy(s => s)
.ToArray()
);
(同樣假設itemsToAdd
是排除它們字符串的枚舉。)
1
0
如何鑄造項目String
var check = comboBox1.Items.Cast<string>().Any(c => c.ToString() == "test");
相關問題
- 1. 如何自動展開到組合框中的重複條目?
- 2. 組合框重複選項
- 3. 組合框項目重疊
- 4. 文本框/網格重疊組合框條目
- 5. 從一個組合框到另一個組合框的重複項目
- 6. 組合框選擇項目時顯示重複的項目
- 7. 重複條目
- 8. 重複條目
- 9. 重複條目
- 10. 重複條目
- 11. 合併然後刪除重複條目
- 12. ExtJs組合框:樣式條目
- 13. 組合框與「刷新」條目
- 14. 存儲組合框的文本條目
- 15. 設置組合框的條目(gtk)
- 16. 消除組合框中的空條目
- 17. 使用合併排序刪除數組中的重複條目
- 18. 查找數組中的重複條目
- 19. 在數組中捕獲重複條目
- 20. WPF - 組合框項目被複制
- 21. 從組合框中刪除重複
- 22. VBA組合框oDictionary方法重複值
- 23. 刪除組合框中的重複項
- 24. 組合框顯示重複值
- 25. 刪除重複表單組合框
- 26. php - 重複條目
- 27. log4net重複條目
- 28. @OneToMany重複條目
- 29. 重複條目IInAppBillingService
- 30. Multidex重複條目
thanxs。此外,是否有任何功能相同的'Items.AddRange' – user1903439 2013-02-10 18:09:47
編號只需在循環中檢查它們。 – 2013-02-10 19:18:02