2012-08-04 2 views
0
내가 런타임에 텍스트 상자를 만들려면 다음 코드를 사용하고

에에 추가하고 완벽하게 작동하고 : 나는 그들을 배치하지 않으동적으로 텍스트 상자 만들기 및 TabControl에

MarginTextbox.Name = "mid" & id 
    MarginLabel.Name = "ML" & id 
    MarginTextbox.Font = New System.Drawing.Font("Verdana", 10, Drawing.FontStyle.Regular) 
    MarginLabel.Location = New Point(15, (80 + (counter * 24))) 
    MarginTextbox.Location = New Point(110, (80 + (counter * 24))) 
    MarginLabel.BackColor = Me.BackColor 
    MarginTextbox.Size = New Size(56, 20) 
    MarginLabel.Size = New Size(150, 20) 
    MarginTextbox.AutoSize = False 
    MarginLabel.Text = "Supplier " & id 
    Controls.Add(MarginTextbox) 
    Controls.Add(MarginLabel) 

양식이 아니라 TabControl 탭에 있습니다. 어떻게해야합니까?

Controls.Add(MarginTextbox) Controls.Add(MarginLabel) 
Me.TabPageWhatever.Controls.Add(MarginTextbox) 
Me.TabPageWhatever.Controls.Add(MarginLabel)

답변

3

을 TabControl 하나 이상의 TabPage를 포함

1

하는 대신 Form에 컨트롤을 추가하는의 ControlsControls, 당신의 TabPage에 추가 '.
TabPage에는 텍스트 상자를 추가하는 데 사용할 수있는 Controls 개체 컬렉션이 있습니다.

Dim tp as TabPage = tabControl1.TabPages(0) ' 0 is the index of the page required' 
tp.Controls.Add(MarginTextbox) 
tp.Controls.Add(MarginLabel) 
+0

+1 난 항상 잊지 tabpages가 이미 컨트롤 자체로 정의됩니다 :

그래서 (당신이 tabControl1라는 이름을 TabControl을 추가 한 가정하여) – Steve

관련 문제