在richtext框中有一个列表框

时间:2017-01-02 11:10:44

标签: c# tabs listbox richtextbox

我有一个带有按钮和tabcontrol的表单。如果我单击该按钮,它会在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;           
}

1 个答案:

答案 0 :(得分:0)

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

  1. 为每个richtextbox创建一个列表框

  2. 处理选项卡控件的选择更改,并将列表框重新附加到当前可见的richtextbox。