列表框项目名称链接到另一个控件

时间:2012-09-14 14:24:56

标签: vb.net visual-studio-2010 controls

因此,以下代码为已输入列表框的每个项目添加了一个图片框。

    Dim x As Integer = 790
    Dim y As Integer = 91
    For i As Integer = 0 To ListBox1.Items.Count - 1

        'adds picturebox for as many listbox items added
        Dim MyPictureBox As New PictureBox()
        MyPictureBox.Location = New Point(x, y)
        MyPictureBox.Size = New Size(12, 12)
        MyPictureBox.SizeMode = PictureBoxSizeMode.StretchImage
        Me.Controls.Add(MyPictureBox)
        MyPictureBox.Image = My.Resources.Warning1
        x += 0
        y += 13

    Next i

我还有另一个正在运行的进程,它会为列表框中的每个项目创建一个文件,并为每个项目命名该文件。

示例:我在列表框中添加了20个项目,我将有20个图片框。如果我想删除第15项,我还想删除旁边的图片框。

可以这样做吗?

1 个答案:

答案 0 :(得分:1)

如果ListBox项的文本是唯一的,那么您可以使用它将两者链接在一起,否则,您需要在每个项目上使用一些其他属性作为唯一键。然后,您可以将每个Name控件的PictureBox属性设置为列表中匹配项的唯一键值。例如:

Dim key As String = ListBoxItems(i).ToString()
...
MyPictureBox.Name = "pic" + key

然后,当您想要获得给定项目的匹配PictureBox控件时,您可以执行以下操作:

Dim p As PictureBox = CType(Me.Controls("pic" + item.ToString()), PictureBox)

(其中itemListBox中的项目)要删除它,您只需执行以下操作:

Me.Controls.Remove(p)
p.Dispose()