C#如何在Panel或者GroupBox控件中自由地切换其他窗体

如果想要在C#中做如下所述的功能:

通过点击按钮等动作,切换Panel或者GroupBox控件中显示的窗体。

具体要如何实现呢?

下面演示如何在Panel中实现该效果。

其实方法很简单,基本思路就是每次点击事件发生后,清空Panel中的所有Controls,然后添加你需要的窗体进来。详细步骤如下所示。


1. 添加3个窗体分别为Win1,Win2,Win3。在主窗体(PanelSwitch)中添加1个Panel,4个Button。



2. 设置3个窗体的属性 

   


3. 编写控件Click事件

        Win1 w1;
        Win2 w2;
        Win3 w3;
        private void PanelSwitch_Load(object sender, EventArgs e)
        {
            w1 = new Win1();
            w2 = new Win2();
            w3 = new Win3();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.panel1.Controls.Clear();  // 清空原有的控件
            w1.TopLevel = false;  // 非顶级窗口
            w1.FormBorderStyle = FormBorderStyle.None;  // 不显示标题栏
            w1.Dock = System.Windows.Forms.DockStyle.Fill;  // 填充panel
            this.panel1.Controls.Add(w1);  // 添加w1窗体
            w1.Show(); 
        }
        private void button2_Click(object sender, EventArgs e)
        {
            this.panel1.Controls.Clear();  // 清空原有的控件
            w2.TopLevel = false;  // 非顶级窗口
            w2.FormBorderStyle = FormBorderStyle.None;  // 不显示标题栏
            w2.Dock = System.Windows.Forms.DockStyle.Fill;  // 填充panel
            this.panel1.Controls.Add(w2);  // 添加w2窗体
            w2.Show(); 
        }
        private void button3_Click(object sender, EventArgs e)
        {
            this.panel1.Controls.Clear();  // 清空原有的控件
            w3.TopLevel = false;  // 非顶级窗口
            w3.FormBorderStyle = FormBorderStyle.None;  // 不显示标题栏
            w3.Dock = System.Windows.Forms.DockStyle.Fill;  // 填充panel
            this.panel1.Controls.Add(w3);  // 添加w3窗体
            w3.Show(); 
        }

        private void button4_Click(object sender, EventArgs e)
        {
            this.panel1.Controls.Clear();
        }

4. 运行看实现的效果



  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值