前文
做过HMI的人都习惯了系统自带了窗口或者画面切换,C#中需要开发者自己去写这样一个逻辑,本文大致介绍一种思路来实现这种功能。
分析
所谓窗口切换其实就是将当前画面清空,然后重新绘制一幅实现好的窗口,那么要首先实现的就是原有窗体的擦除,然后重新导入绘制好的新窗体。
实现
- 首先我们新建一个panel用来加载新窗体,进行窗体的切换
- 然后根据该panel大小建立两个同等大小的窗体form2与form3
- 窗体切换的功能由按钮button2与button3来实现,首先我们需要写好切换窗体额方法
void FrmChange(Form frm)
{
frm.TopLevel = false;//需要设为false否则panel无法传入frm高级控件
//清空原有panel内容
this.panelMain.Controls.Clear();
//添加新窗体
this.panelMain.Controls.Add(frm);
frm.Show();
}
- 其次在对应按钮的点击事件中调用上述方法
private void button2_Click(object sender, EventArgs e)
{
FrmChange(new Form2());
}
private void button3_Click(object sender, EventArgs e)
{
FrmChange(new Form3());
}
完成上述步骤后进行调试即可,后续可以根据每个按钮需要触发画面进行切换即可。