1
무엇을하려합니까?VB.NET 인덱싱 된 레이블이있는 TabPage를 추가하십시오.
인덱스 된 이름이있는 레이블이있는 기존 TabControl에 TabPage를 추가하려고합니다.
Private Sub BtnAddReport_Click(sender As Object, e As EventArgs) Handles BtnAddReport.Click
Dim rep As New OpenFileDialog
rep.Title = "Add Report"
rep.InitialDirectory = "C:\Customers"
rep.FileName = ""
rep.DefaultExt = ".html"
rep.Filter = "HTML Documents|*.html"
rep.Multiselect = False
If rep.ShowDialog() = DialogResult.OK Then
Dim newTab As TabPage = New TabPage With {.Text = Path.GetFileName(rep.FileName)}
TabControl2.Controls.Add(newTab)
Dim i As Integer
For i = 1 To TabControl2.TabPages.Count
Dim lbl As Label = New Label With {.Text = "Label" & i, .Location = New Point(3, 3)}
newTab.Controls.Add(lbl)
Next
End If
End Sub
예상되는 결과는 무엇입니까?
버튼을 클릭 할 때마다 새 탭 등
당신이 얻을 실제 결과는 무엇인가 "Label2이", "Label1을"이라는 레이블이 추가된다?
이 코드는 새로운 tabpage를 만들고 레이블을 추가하지만, 항상 Label1을 이름이고 당신이 거기에 For
루프를해야합니까 왜 1
와우, 나는 그것을 크게 overthinking했습니다. For 루프를 제거하고 말한 것을 완벽하게 수행했습니다. 다시 감사합니다 jmcilhinney – BradBerger
한 가지 더. 런타임 중에 각 레이블을 어떻게 참조합니까? For 루프를 사용해야합니까? – BradBerger
각'TabPage'에 접근하기 위해'For' 또는'For Each' 루프를 사용하고,'Controls' 콜렉션을 인덱싱함으로써 현재'TabPage'를위한'Label'에 접근합니다. 또는 별도의'List (Of Label)'을 유지하고'label' 컨트롤을 추가하고 루프를 반복하십시오. – jmcilhinney