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