C#的在主窗体中实现多个子窗体相互切换的效果主要依托于panel容器和Controls函数。
多窗体切换的原理:多窗体切换的原理其实是借助一个panel容器,在该容器中显示相同大小的窗口。
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;
namespacewindow_cut{
publicpartialclassForm1 : Form {
public UserControl1 f1; //创建用户控件一变量public UserControl2 f2; //创建用户控件二变量public UserControl3 f3; //创建用户控件三变量publicForm1() {
InitializeComponent();
}
privatevoidForm1_Load(object sender, EventArgs e) {
f1 = new UserControl1(); //实例化f1 f2 = new UserControl2(); //实例化f2 f3 = new UserControl3(); //实例化f3 }
//显示窗体一privatevoidbutton1_Click(object sender, EventArgs e) {
f1.Show(); //将窗体一进行显示 panel2.Controls.Clear(); //清空原容器上的控件 panel2.Controls.Add(f1); //将窗体一加入容器panel2 }
//显示窗体二privatevoidbutton2_Click(object sender, EventArgs e) {
f2.Show(); //将窗体二进行显示 panel2.Controls.Clear(); //清空原容器上的控件 panel2.Controls.Add(f2); //将窗体二加入容器panel2 }
//显示窗体三privatevoidbutton3_Click(object sender, EventArgs e) {
f3.Show(); //将窗体三进行显示 panel2.Controls.Clear(); //清空原容器上的控件 panel2.Controls.Add(f3); //将窗体三加入容器panel2 }
}
}