假设 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
}
}
你的"另一个窗体"是从第一个窗体中打开的吗?
如果是这样那么你关闭第一个窗体的时候第二个窗体也就关闭了,所以第一个窗体不能关闭,可以用隐藏来实现关闭的效果.
一种ShowDialog()
二种父窗体和子窗体
模式窗体