this 질문을 읽은 후 xml 요소의 각 특성에 대한 레이블을 만들 코드를 작성했습니다.내 레이블이 VB.NET 형식으로 표시되지 않는 이유
문제는 프로젝트를 실행할 때 양식에 첫 번째 레이블 만 표시된다는 것입니다. 직접 창과 디버그 창을 모두 확인한 후 모든 레이블이 양식에로드되지만 그 중 아무 것도 표시되지 않습니다. 도움?
다음은 양식이로드 될 때 실행되는 코드입니다.
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
배열은 실제로 필요하지 않습니다. 이름을 잘 지정하거나 태그를 지정하면 Controls 컬렉션에서 쉽게 찾을 수 있습니다. 보십시오 :'Dim labels (counter) As New Label' – Plutonix
카운터 * 10은 추측이었습니다. 그 추측은 항상 잘 작동하지 않습니다. 상황이 너무 낮아서 이러한 레이블이 모두 서로 겹치면 상황이 나 빠지게됩니다. 확실히 "망막"디스플레이에서 발생합니다. 추측하지 말고 레이블의 Height 속성을 사용하십시오. * 후에 *를 추가했습니다. –
폼에 레이블이 아니라 FlowLayoutPanel에 레이블을 추가하여 위치를 매끄럽게 수행 할 수도 있습니다. 또한 레이블 이름을 ''lblXMLAttrib '& counter.ToString'과 같이 설정하십시오. – Jens