2013-02-08 28 views
-1

我是VB.Net的新手,感覺有些困惑。 我想要兩個列表框,每個列表框中都有項目。在我的第一個列表框中,我有4個項目,在我的第二個列表框中,我有5個項目。我還添加了一個文本框,用於我想要存儲在數組中的值。例如:如果我選擇第一個文本框的第一個值,第二個文本框的第二個值並在文本框中鍵入「5」,則5將存儲在(0,1)的陣列。多維數組和列表框(VB.Net)

然後,我希望我的第一個列表框中的每個項目的所有值都顯示在標籤中,第二個項目,第三個項目和第四個項目也是如此。我想我會需要一個循環。

我知道如何創建一個數組,以及如何將值存儲在一個數組,但我似乎無法弄清楚如何得到它使用列表框和文本框的工作。

回答

1

我創建了一個窗體具有以下控件:

ComboBox1 
ComboBox2 
Button1 
TextBox1 

我已經添加代碼到Form_Load和的button1_Click事件,並創造了單ComboBox_SelectedIndexChanged事件處理程序來處理這兩個組合框指數的變化。

Public Class Form1 
    Private _array(,) As String 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     ReDim _array(0 To ComboBox1.Items.Count, 0 To ComboBox2.Items.Count) 
    End Sub 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     Dim c1 As Integer = If(ComboBox1.SelectedIndex = -1, 0, ComboBox1.SelectedIndex) 
     Dim c2 As Integer = If(ComboBox2.SelectedIndex = -1, 0, ComboBox2.SelectedIndex) 
     Debug.Print(String.Format("Set ({0},{1}) to {2}", c1, c2, TextBox1.Text)) 
     _array(c1, c2) = TextBox1.Text 
    End Sub 

    Private Sub ComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged, ComboBox2.SelectedIndexChanged 
     Dim c1 As Integer = If(ComboBox1.SelectedIndex = -1, 0, ComboBox1.SelectedIndex) 
     Dim c2 As Integer = If(ComboBox2.SelectedIndex = -1, 0, ComboBox2.SelectedIndex) 
     Debug.Print(String.Format("Get ({0},{1}) to {2}", c1, c2, TextBox1.Text)) 
     TextBox1.Text = _array(c1, c2) 
    End Sub 
End Class 

什麼我展示的是:當加載窗體以匹配您的組合框元素的數量
1陣列調整。
2.將數據加載到數組中的事件(在本例中爲按鈕單擊事件)。
3.當任一組合框改變時再次檢索數據。

希望有所幫助。

+0

那麼,這是如何爲你工作的? –