//检查容器中是否已打开其他窗体
private void CloseForm()
{
foreach(Control item in this.panel1.Controls)
{
if(item is Form)
{
Form form = (Form)item;
form.Close();
}
}
}
嵌入子窗体
private void OpenForm(Form form)
{
form.TopLevel = false;
form.FormBorderStyle = FormBorderStyle.None;
form.Parent = panel1;
form.Show();
//在主窗体大小变动时,子窗体大小可以随其变动
form.Width = this.panel1.Width;
form.Height = this.panel1.Height;
}
//按钮事件调用方法嵌入窗体
private void btnPlan_Click(object sender, EventArgs e)
{
CloseForm();
OpenForm(new FrmPlan());
}
//或者直接清空panel所有控件
private void btnPlan_Click(object sender, EventArgs e)
{
panel1.Controls.Clear();
OpenForm(new FrmPlan());
}
本文介绍了一种在C#中管理窗体的有效方法,包括如何检查并关闭已打开的窗体,以及如何嵌入新的窗体到指定面板中。通过调整子窗体的大小以适应主窗体的变化,确保了用户界面的一致性和响应性。
1万+

被折叠的 条评论
为什么被折叠?



