通过Windows窗体中的ArrayList循环并在窗体上显示

时间:2014-07-01 00:28:32

标签: vb.net visual-studio-2013

我有ArrayList,可能有不确定数量的值。目前我有一个文本框,其中多行填充了一个For循环,以测试它是否正常工作 - 它是,并且这会正确显示所有内容。我真正想要做的是输出到标签文本,标签旁边有一个图像(如果有所不同,则每个标签旁边的图像相同)。我知道我可以在表单上创建1到10的标签,然后根据迭代设置它们,然后用代码在标签的左边显示图片,但这似乎是错误的方法,以防{{1}有15个结果。

有更好的方法可以做到这一点,还是我在思考它?

1 个答案:

答案 0 :(得分:1)

您可以动态创建控件;他们和其他班级一样。

Dim l As New Label()
l.Text = "Some text"

Dim p As New PictureBox()
p.Image = My.Resources.someImage

' All container controls have a Controls collection
Me.Controls.Add(l)
Me.Controls.Add(p)

棘手的部分是定位它们,但StackPanel应该有所帮助。 (您可以创建Panel以相同方式包含每对;只需添加到Panel的{​​{1}},然后将Controls添加到Panel }。)

另外,请勿使用StackPanel s!通用列表更安全,更灵活。如果您有一个字符串列表,请将它们表示为List(Of String)