为多个组合框设置相同的SelectedIndex值

时间:2014-10-18 14:56:09

标签: vb.net combobox

我有一张表格,我有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

但它不起作用。请帮帮我。

1 个答案:

答案 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