在阅读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
答案 0 :(得分:3)
您应该使用一些布局管理器来帮助您进行控制定位。手动操作并不值得痛苦。尝试使用TableLayoutPanel
或FlowLayoutPanel
。两者都可以停靠或锚定到父控件,因此一切都表现得非常流畅。否则,您希望编写大量定位/调整大小的代码,然后再进行维护。
答案 1 :(得分:0)
将新点的原始代码行中的值10更改为更大的值(例如40),以便新标签可以直观地分开显示:
labels(counter).Location = New System.Drawing.Point(10 + counter, 30 + counter * 40)