2017-11-02 11 views
0

TabControl의 첫 번째 TabPageTextBox을 첨부했습니다. 모든 TabPage에 같은 TextBox 개체를 표시하고 싶습니다. 나는 컨트롤을 tabControl 컬렉션에 추가하려고 시도했지만 불행히도 작동하지 않습니다.모든 TabPage에 TextBox 표시

private void Form1_Load(object sender, EventArgs e) 
{ 
    tabControl1.TabPages[tabControl1.SelectedIndex].Controls.Add(textBox); 
} 
+1

탭을 변경할 때 텍스트 상자 탭을 .. .. 이동합니다. – BugFinder

+0

SelectedIndexedChanged 이벤트에서 컨트롤의 Parent 속성 만 변경하면됩니다. 그러나 Location 및 TabIndex 속성을 사용하여 무언가를해야한다는 필요를 완전히 무시할 수는 없습니다. 어쩌면 이것이 하나의 지름길 일 수도 있습니다. –

답변

0

나는 두 가지 방법을 놓쳤다. 지금 일하고있어!

tabControl1.Selecting += new TabControlCancelEventHandler(tabControl1_Selecting); 


    void tabControl1_Selecting(object sender, TabControlCancelEventArgs e) 
    { 

     tabControl1.TabPages[tabControl1.SelectedIndex].Controls.Add(textBox); 
    } 
1

버튼 b;

public Form1() 
    { 
     InitializeComponent(); 
     b = new Button() { Text = "Prueba" }; 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     AddButtonToTabControl(); 
    } 

    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     AddButtonToTabControl(); 
    } 

    public void AddButtonToTabControl() 
    { 
     tabControl1.SelectedTab.Controls.Add(b); 
    }