2017-01-02 60 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。