私のWindowsフォームVB.netアプリケーションのすべてのコンボボックスをループしています。すべてのコンボボックス名を取得するVB.NET
私はこれが
Array.ForEach(Me.Controls.OfType(Of ComboBox).Items.Add(DataGridView1.Columns(i).Name)))
を働くだろうが、私はそれを知っていないように思われる項目を参照することができないと想定していたが、私はすべてのリストを取得しようとしています
その時点でcomboboです私のコンボボックスの名前ので、私はうまくいけば、ループ内の名前のリストを使用してアイテムを追加し、選択したインデックスを読むことができますが、私の名前のリストは常に空白です。私は次のコードを使用して、messgboxにリストを送信して名前を取得しているかどうかを確認しようとしています。
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim allComboBoxValues As String = ""
Dim c As Control
Dim childc As Control
For Each c In Me.Controls
For Each childc In c.Controls
If TypeOf childc Is ComboBox Then
allComboBoxValues &= CType(childc, ComboBox).Text & ","
End If
Next
Next
MsgBox(allComboBoxValues)
If allComboBoxValues <> "" Then
MsgBox(allComboBoxValues)
End If
End Sub
あなたはただ、あなたはコンボ用の容器、パネルwhat's彼らのために毎回 – Plutonix
を探して行くために持っていけないので、のCBOの配列を作成することができますグリッドビュー? – derloopkat
あなたはコンテナの深さを複数持つことができるので、再帰せずにこの解決策は動作しないと思います。現在投稿されている回答は、私が思ったよりクリーンです。 – UnhandledExcepSean