为什么我的标签不能以VB.NET形式显示

时间:2013-12-15 23:00:29

标签: vb.net winforms

在阅读this问题之后,我写了一些代码来为xml元素的每个属性创建一个标签。

问题是当我运行项目时,我的表单只显示第一个标签。我已经检查了即时窗口以及调试窗口,并且所有标签都已加载到表单中,但都没有显示。帮助

这是表单加载时运行的代码。

Dim doc As New XmlDocument()
doc.Load("xmlfile")
Dim ability As XmlNode = doc.GetElementsByTagName("ability").Item(0)
Dim numberofLabels = ability.Attributes.Count
ReDim labels(numberofLabels)
For counter As Integer = 0 To numberofLabels - 1
    labels(counter) = New Label
    labels(counter).Visible = True
    labels(counter).Text = ability.Attributes.Item(counter).Name
    labels(counter).Location = New System.Drawing.Point(10, 30 + counter * 10)
    Me.Controls.Add(labels(counter))
Next

2 个答案:

答案 0 :(得分:3)

您应该使用一些布局管理器来帮助您进行控制定位。手动操作并不值得痛苦。尝试使用TableLayoutPanelFlowLayoutPanel。两者都可以停靠或锚定到父控件,因此一切都表现得非常流畅。否则,您希望编写大量定位/调整大小的代码,然后再进行维护。

答案 1 :(得分:0)

将新点的原始代码行中的值10更改为更大的值(例如40),以便新标签可以直观地分开显示:

labels(counter).Location = New System.Drawing.Point(10 + counter, 30 + counter * 40)