如何使C# 选项卡在窗体之间切换

How to make C# tab switch between form

我想知道是否可以在 VS Express 2010 中使用选项卡(如 Google Chrome 或许多其他程序)在不关闭任何 window 的情况下在表单之间切换。

我知道工具箱中有选项卡控件项,但据我所知您需要以相同的形式创建选项卡内容。我正在寻找一种在表单之间交换的方法,就像我将按钮放在每个表单(工作人员、客户、分机)的顶部,打开我单击的表单并关闭我所在的表单但不更改主 window。

您可以使用MDI父方法。如果我没理解错的话,这篇link会对你有所帮助。

您希望它位于同一 window。

  1. 将此代码 this.IsMdiContainer = true; 添加到主窗体。

  2. 为每次菜单或按钮点击创建新表单。

    Form1 frm1;
    Form2 frm2;
    Form3 frm3;
    
  3. 创建此函数并调用每个按钮单击以隐藏所有表单

    private void HideForms()
    {
        int frmCount = this.MdiChildren.Count<Form>();
        if (frmCount > 0)
        {
            for (int i = 0; i < frmCount; i++)
            {
                 this.MdiChildren[i].Hide();
            }
        }
    }
    
  4. 之后button1,button2,...点击事件

    private void button1_clicked(...)
    {
        HideForms();
        if ((frm1 == null) || (frm1.IsDisposed))
            frm1 = new Form1();
        frm1.MdiParent = this;
        frm1.Dock = DockStyle.Fill;
        frm1.Show();
        frm1.BringToFront();
    }