我有一张表格,我有23 Comboboxes
。为每个组合框写SelectedIndex=-1
肯定会有效,但我想知道是否还有其他方法可以像下面给出的例子那样做。 ?
For Each ctl As Control In (GroupBox1.Controls)
If TypeOf ctl Is TextBox Then
ctl.Text = ""
End If
Next
我试过这个,
If TypeOf ctl Is ComboBox Then
ctl.selectedIndex=-1
End If
但它不起作用。请帮帮我。
答案 0 :(得分:1)
在您的示例中,您的ctl
变量是Control
而不是Combobox
,因此它没有SelectIndex
属性 - 尽管您可以使用{ {1}}。
DirectCast(ctl, Combobox)
或者为循环创建一个特定于类型的控件循环。无需在此处检查类型。
For Each ctl As Control In (GroupBox1.Controls)
If TypeOf ctl Is Combobox Then
DirectCast(ctl, Combobox).SelectedIndex = -1
End If
Next