我使用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. 设置组合框的条目(gtk)
- 7. 组合框与“刷新”条目
- 8. 使用合并排序删除数组中的重复条目
- 9. 查找数组中的重复条目
- 10. 删除组合框中的重复项
- 11. VBA组合框oDictionary方法重复值
- 12. WPF - 组合框项目被复制
- 13. Multidex重复条目
- 14. AJAX:重复条目
- 15. log4net重复条目
- 16. 重复条目IInAppBillingService
- 17. 重复条目数
- 18. Django重复条目
- 19. liquibase.exception.DatabaseException:重复条目
- 20. 扩展时重绘组合框项目
- 21. 选择所有组合框内的复选框Wpf中的组合框项目
- 22. 组合框的复合DisplayMember
- 23. 复合DisplayMemberPath为组合框
- 24. 组合框与复选框
- 25. 组合与重复
- 26. ng -repeat重复数据重复条目
- 27. MFC组合框:当有x个项目时显示组合框的滚动条
- 28. 如何使用,如果在NG-重复和数组去除NG选项重复的节目组合条件
- 29. 重复GetAccessRules,FileSystemAccessRule条目
- 30. com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException重复条目
thanxs。此外,是否有任何功能相同的'Items.AddRange' – user1903439 2013-02-10 18:09:47
编号只需在循环中检查它们。 – 2013-02-10 19:18:02