将tabPage添加到单独的表单中

问题描述 投票:1回答:1

我有2个表单,其中一个被标记为Form1.cs,默认情况下,它具有一个带有2个选项卡的tabControl。我有Form2.cs,上面有一个标签(名称:),一个文本框和一个“确定”按钮。

我正在Form1.cs上创建一个新标签,标签顶部的名称是在文本框中键入的名称。

我对C#/ Visual Studio还是很陌生,发现很难读懂任何可以帮助我的东西。

Form1.cs和Form2.cs

{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void scoreboard2pToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2();
            f2.ShowDialog();
        }
    }
}




namespace Scoreboard3
{
    public partial class Form2 : Form
    {
        public string SelectedText { get; set; }

        public Form2()
        {
            InitializeComponent();
        }

        private void txtBox2v2_TextChanged(object sender, EventArgs e)
        {

        }

        public void OK_Click(object sender, EventArgs e)
        {
            Form1.TabControl1.TabPages.Add;
        }
    }

}
c# visual-studio tabcontrol
1个回答
0
投票

根据您提供的代码,您从form1打开form2。所以form2是form1的子窗体。也许您可以通过“ event”刷新form1。这是您可以参考的简单代码。

Form1.cs

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    void form1_AddTab(string name)
    {
        tabControl1.TabPages.Add(name);
    }

    private void btOpenForm2_Click(object sender, EventArgs e)
    {
        Form2 form2 = new Form2();
        // Subscribe to the event
        form2.AddEvent += form1_AddTab;
        form2.ShowDialog();
    }
}

Form2.cs

public delegate void AddDelegate(String name);
public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    public event AddDelegate AddEvent;

    private void btOK_Click(object sender, EventArgs e)
    {
        AddEvent(textBox1.Text);
        this.Close();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.