2012-10-07 65 views
0

(瞭解VB.NET:中級)Loop through controls(vb.net)

我在10個選項卡上有60個組合框。

我想將項目添加到組合框如下,

組合框1〜30應具有項 「A」, 「B」, 「C」

組合框31至60應具有項 「d」 ,「E」,「F」

我嘗試使用以下,

Dim cntrl as New Control 
    For Each cntrl InMe.Controls    
     If (TypeOf cntrl Is ComboBox) Then     
     Combobox.Items.Add("a")    
     Combobox.Items.Add("b") 
     Combobox.Items.Add("c")       
     End If   
    Next cntrl 

但如何如上所述將項目添加到特定的組合框?

謝謝

回答

1

關於如何做到這一點有很多方法。例如:創建2個控件列表,並添加必須將項目「a」,「b」,「c」添加到第一個列表以及將所有其他列表添加到第二個列表的所有組合框。然後枚舉然後添加相應的項目。

Dim abcCombos As List(Of ComboBox) 
Dim defCombos As List(Of ComboBox) 

Private Sub Form1_Load(ByVal sender As Object, _ 
    ByVal e As System.EventArgs) Handles MyBase.Load 

    abcCombos = New List(Of ComboBox)(New ComboBox() _ 
        {ComboBox1, ComboBox2, ComboBox3}) 
    defCombos = New List(Of ComboBox)(New ComboBox() _ 
        {ComboBox31, ComboBox32, ComboBox33}) 

End Sub 

Private Sub PopulateABC() 
    For Each cb as ComboBox in abcCombos 
     cb.Items.Add("a")    
     cb.Items.Add("b") 
     cb.Items.Add("c") 
    Next 
End Sub 

Private Sub PopulateDEF() 
    For Each cb as ComboBox in defCombos 
     cb.Items.Add("d")    
     cb.Items.Add("e") 
     cb.Items.Add("f") 
    Next 
End Sub 
+0

非常感謝。 – mrn