C# 在richtext框中包含一个列表框

C# 在richtext框中包含一个列表框,c#,tabs,listbox,richtextbox,C#,Tabs,Listbox,Richtextbox,我有一个带有按钮和tab控件的表单。如果我单击按钮,它会在tabcontrol的richtextbox中添加一个新选项卡,其中包含一个列表框,但一旦我在这些选项卡中移动,列表框仅在最新选项卡上可见/可用,而在以前的选项卡中不可见。不管怎样,关于如何解决这个问题的想法好吗?下面是我的代码: private void button1_Click(object sender, EventArgs e) { if (tabControl1.Visible == false) {

我有一个带有按钮和tab控件的表单。如果我单击按钮,它会在tabcontrol的richtextbox中添加一个新选项卡,其中包含一个列表框,但一旦我在这些选项卡中移动,列表框仅在最新选项卡上可见/可用,而在以前的选项卡中不可见。不管怎样,关于如何解决这个问题的想法好吗?下面是我的代码:

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;           
}

您的代码正在将相同的列表框添加到您正在创建的新richtextbox中;当最后添加的richtextbox被隐藏时(通过移动到其他选项卡),listbox也被隐藏。您有两个选择:

  • 为每个richtextbox创建一个列表框

  • 处理tab控件的选择更改,并将listbox重新附加到当前可见的richtextbox


  • 嗯?为什么列表框在您添加它的地方以外的任何地方都可见???我希望在单击按钮时将列表框添加到tabcontrol的每个richtextbox中。当前列表框被添加到最新的选项卡/richtextbox,但是当我循环回到任何旧的/以前的选项卡时,列表框就消失了。当然,因为您只有一个列表框。您可以对SelectionIndexChanged事件进行编码,并将列表框移动到所选选项卡页面的RTB。