c#中一个窗体关闭同时另一个窗体可用(另一窗体原来是显示的但不能用)

2025-03-09 22:25:29
推荐回答(4个)
回答1:

假设 form1 和 form2

在form1中
form2 fm2 = new form2();
fm2.ShowDialog(this);
直到form2关闭
form1才能被操作
另一个方法::::
打开新窗体:
Form2 f = new Form2(this);//把本窗体传过去
f.Show();
this.Enabled = false;

//新窗体
public partial class Form2 : Form
{
Form1 f = null;
public Form2(Form1 f)//把窗体信息传过来
{
InitializeComponent();
this.f = f;
}

private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
f.Enabled = true;//关闭事件 就把传过来的窗体 Enabled 设置为true
}
}

回答2:

你的"另一个窗体"是从第一个窗体中打开的吗?
如果是这样那么你关闭第一个窗体的时候第二个窗体也就关闭了,所以第一个窗体不能关闭,可以用隐藏来实现关闭的效果.

回答3:

一种ShowDialog()
二种父窗体和子窗体

回答4:

模式窗体