Vb.net 创建控件列表

Vb.net 创建控件列表,vb.net,Vb.net,我似乎不明白,我试图在VisualBasic中创建某种列表,其中每个项目不仅仅是一个字符串,而是一捆标签、一个按钮,可能还有一张图片。 我已经用VB写了一些程序,但我不知道该如何开始,对不起,也许我只是遗漏了一些元素或类似的东西。 有人有想法吗?这是高度简化的,仅供举例说明 我创建了一个只包含两个属性的类,用来保存指向一组相关的1个按钮和1个文本框的指针 Public Class MyControls Property theTextBox As TextBox Property

我似乎不明白,我试图在VisualBasic中创建某种列表,其中每个项目不仅仅是一个字符串,而是一捆标签、一个按钮,可能还有一张图片。 我已经用VB写了一些程序,但我不知道该如何开始,对不起,也许我只是遗漏了一些元素或类似的东西。
有人有想法吗?

这是高度简化的,仅供举例说明

我创建了一个只包含两个属性的类,用来保存指向一组相关的1个按钮和1个文本框的指针

Public Class MyControls
    Property theTextBox As TextBox
    Property theButton As Button
End Class
然后在需要将控件存储在列表中的代码中:

    Dim controlList As New List(Of MyControls)
    Dim item1 As New MyControls
    item1.theButton = New Button
    item1.theTextBox = New TextBox
    controlList.Add(item1)
之后,您可以通过从列表中选择项目并使用点运算符来访问控件

   controlList.Item(0).theTextBox.Text = "New text"

将它们添加到列表视图取决于您希望它们的显示方式。最困难的是决定把它们放在那里。。。本例仅添加文本框并在其下方显示按钮

controlList.Item(0).theButton.Text = "press me"
ListView1.Controls.Add(controlList.Item(0).theTextBox)
controlList.Item(0).theButton.Top = controlList.Item(0).theTextBox.Height
ListView1.Controls.Add(controlList.Item(0).theButton)

类似Dim controlList的东西作为新列表(文本框)controlList.Add(txtSearch),其中txtSearch是一个文本框。您还可以动态创建文本框并将其添加到列表中。@Brian Hibbert还可以使用每个项目的文本框+按钮吗?o:每件一个?您可能需要创建一个包含文本框和按钮的类(比如MyControls),在类的实例中保存指向这两个控件的指针,并创建MyControls的列表a
list
(以及大多数剩余的.NET集合)允许任何
类型
;由于所有控件都继承自
控件
类,因此最符合逻辑的方法似乎依赖于该类。即:
Dim list As list(Of Control)=新列表(Of Control)
。您可以在那里存储任何控件(例如标签、按钮等)。或者,您可以依赖不同的方法(正如Brian在上面所建议的)。你有很多选择,这个问题太抽象了,不适合在这里讨论。@Brian Hibbert这听起来和我需要的完全一样,但是,看起来我只是没有足够的VB经验来理解我必须做什么对不起,所以你能更详细地描述一下,或者至少给我一些链接吗?谢谢,我现在终于明白了,谢谢你的耐心。您将如何在列表视图中显示此内容?还是有一个合适的方式来显示这个?我编辑了答案让它更清楚。。。见上文。