2017-01-02 41 views
0

我有一個帶有按鈕和tabcontrol的窗體。如果我點擊該按鈕,它會在tabcontrol的richtextbox內添加一個帶有列表框的新選項卡,但是一旦我移動了選項卡,列表框在最新的選項卡上僅可見或可用,而不是在以前的選項卡中。無論如何想法如何解決這個請嗎?以下是我的代碼:在richtext框中有一個列表框

private void button1_Click(object sender, EventArgs e) 
{ 
    if (tabControl1.Visible == false) 
    { 
     tabControl1.Visible = true; 
     listBox1.Visible = true; 
    } 

    TabPage tp = new TabPage(); 
    RichTextBox rtb = new RichTextBox(); 
    int tc = (tabControl1.TabCount + 1); 

    rtb.Controls.Add(listBox1); 
    tp.Text = "New " + tc.ToString(); 
    tabControl1.TabPages.Add(tp); 

    rtb.Dock = DockStyle.Fill; 
    tp.Controls.Add(rtb); 
    return;   
} 
+0

咦?爲什麼列表框可以在其他位置看到,比你添加的位置? – TaW

+0

我想要列表框被添加到按鈕點擊tabcontrol的每個richtextbox。目前列表框被添加了最新的標籤/ richtextbox,但是當我循環回到任何一個較舊的/以前的標籤時,列表框就消失了。 –

+0

當然,因爲你只有__擁有一個ListBox。您可以對SelectionIndexChanged事件進行編碼,並將ListBox移動到Selected TabPage的RTB中。 – TaW

回答

0

您的代碼將相同的列表框添加到您正在創建的新richtextbox中;當最後添加的richtextbox被隱藏時(通過移動到不同的標籤),列表框也被隱藏。你有兩個選擇:

  1. 每個RichTextBox的

  2. 處理選項卡控件的選擇更改創建一個列表框,然後重新連接列表框中當前可見的RichTextBox。

相關問題