多维数组和列表框(VB.Net)

时间:2013-02-08 03:12:42

标签: vb.net

我是VB.Net的新手,对某些事情感到有些困惑。 我想要两个列表框,每个列表框中我都有项目。在我的第一个列表框中,我有4个项目,在我的第二个列表框中,我有5个项目。我还添加了一个文本框,用于我想要存储在数组中的值。

例如:如果我选择第一个文本框的第一个值,第二个文本框的第二个值并在文本框中输入“5”,则5将存储在数组的(0,1)中

然后我希望我的第一个列表框中每个项目的所有值都显示在标签中,第二个项目,第三个项目和第四个项目相同。我想我需要一个循环。

我知道如何创建数组,以及如何在数组中存储值,但我似乎无法弄清楚如何使用列表框和文本框来使其工作。

1 个答案:

答案 0 :(得分: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.当组合框中的任何一个更改时,再次检索数据。

希望有所帮助。