如何删除短代码中的所有组合框

时间:2016-03-03 16:24:22

标签: c# combobox

enter image description here

我有41个组合框,而不是编码每个组合combobox1.resettext(); bla bla如何缩短

2 个答案:

答案 0 :(得分:2)

如果所有的组合框都包含在同一个容器中(意味着它们是表单的直接子代,而不是包含在面板或组框中),那么您可以使用此代码

foreach(ComboBox cbo in this.Controls.OfType<ComboBox>())
   cbo.ResetText();

IEnumerable OfType允许遍历表单的Controls集合,仅提取指定类型的元素。

正如Schmelter先生在下面的评论中所解释的那样,这个代码循环在Controls集合中的每个组合中。如果你有一些你不想重置的组合,那么最好将这些组合移动到一个单独的容器中,如面板(带或不带边框),这样代码就不会影响它们

答案 1 :(得分:0)

您可以将所有组合框添加到数组中并遍历此数组。

foreach(var combo in myCombos){
   combo.ResetText()
}

如果所有组合都在容器中,您可以通过以下方式获取它们:

var myCombos=yourContainer.Controls.OfType<ComboBox>();