2

フォームに 8 つのコンボボックスがあり、すべて同じ値 (はいといいえ) を保持します。

compx1.items.add("Yes") などを実行するよりも簡単な方法はありますか?

私は次のものを持っていますが、アイテムを追加することと関係があるとは思えません。

    Dim cmb As Control
    For Each cmb In Panel1.Controls
        If TypeOf cmb Is ComboBox Then
'cmb. isnt beinging anything up for adding items?
        End If
Next

乾杯

4

3 に答える 3

4

使用できますEnumerable.OfType

For Each cmb In Panel1.Controls.OfType(Of ComboBox)()
    cmb.Items.Add("Yes")
Next
于 2012-11-27T15:18:38.493 に答える
1

たとえば、 a としてDataSource含む値を作成し、次のようにします。{Yes,No}List

For Each cmb In Panel1.Controls.OfType(Of ComboBox)()
  cmb.DataSource = myYesNoDataSource
Next

Y後でandNの代わりにYesandを受け入れる必要がある場合は、それに応じてandNoに変換しDictionaryて設定できます。さらに、使用可能な値のリストは一度だけ初期化されます。したがって、ソリューションは柔軟になります。ValueMemberDisplayMember

于 2012-11-27T15:22:12.813 に答える
0

このコードは、パネルを使用していない場合に役立ちます。コンボボックスが 5 つある場合は、カウント 1 から 5 を指定し、ComboBox1、ComboBox2、comboBox3 などのコンボボックスの名前を指定します。

For count = 1 To 5
Dim combobox = DirectCast(Me.Controls("ComboBox" & n & ""), ComboBox)
combobox.Items.Add("Ok")
Next

このコードもお役に立てば幸いです。

于 2014-12-09T13:41:42.893 に答える