C# 父窗口(form1)与子窗口(form2)的问题

就是在父窗体上有一个按钮,点击弹出子窗体。这时要求在子窗体没关闭时,父窗体不能被操作,所有的控件不能被点击也不能修改父窗体的内容。也不能被关闭。必须在子窗体关闭后才能操作父窗体

两种方法,第一种如楼上所说,用ShowDialog(),此时打开的是模态窗体,也就是在你关闭它之前其他任何窗体都无法使用。
第二种是使用Form的enable属性
在form1的按钮事件中加入代码:
Form2 frm = new Form2();
frm.Owner = this;
frm.Show();
this.Enabled = false;
在form2中重写关闭事件:
protected override void OnClosing(CancelEventArgs e)
{
this.Owner.Enabled = true;
}
个人建议用第二种
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-10
你在页面跳转的时候用 from2.ShowDialog()而不是用from2.Show();追问

我这里的form2是子窗体不是顶级窗体,ShowDialog()不行的

第2个回答  2011-08-10
那样的话,就别设置成父子关系,直接创建个新窗口行不?试试看。

C# 父窗口(form1)与子窗口(form2)的问题
两种方法,第一种如楼上所说,用ShowDialog(),此时打开的是模态窗体,也就是在你关闭它之前其他任何窗体都无法使用。第二种是使用Form的enable属性 在form1的按钮事件中加入代码:Form2 frm = new Form2();frm.Owner = this;frm.Show();this.Enabled = false;在form2中重写关闭事件:protected o...

C#中,在Form1“里”打开Form2(懂么!)
楼主说的是MDI吧? Form1为父窗体,Form2为子窗体,子窗体的移动范围只能在父窗体的大小范围内移动;this.IsMdiContainer = true; \/\/设置当前窗体为父窗体.子窗体 test= new 子窗体();test.MdiParent = this;test.Show();

C#登录成功后如果关闭此窗口form1打开另一个窗口form2,求教
Form1 login = new Form1();login.ShowDialog();if (login.DialogResult.Equals(DialogResult.OK)) \/\/登陆成功才显示主窗口 Application.Run(new Form2());然后打开你的登录的窗体,在点击确定按钮事件中,写类似于这样的代码 if (this.txtUser.Text == "admin" && this.txtPsd.Text == "123...

C# 子窗体关闭的同时父窗体也随之关闭
父窗体:form2.ShowDialog(this);子窗体的Closed事件里写:this.Owner.Close();两个窗体就一起关了。

c#windowsForm一个窗口跳到另一个窗口,第二个窗口怎么显示?
因为program.cs里设置启动线程执行的是Form1,Form2是在Form1里实例化并显示。执行this.close();代表着Form1已经完成了它的使命,Form1的所有资源都将被释放,包括在Form1中实例化的From2。之后程序结束。

在C#中怎么样才能把父窗体中的值传给子窗体?
在子窗口的类中的构造函数里定义参数就行了,实例化子窗口的时候,把参数传递过去就行了哈。

C# 两个窗体 的问题
首先在项目中创建两个窗体类Form1和Form2;然后在项目中创建一个静态类并定义两个窗体类型的静态属性,例如:public static class Class1 { public static Form LocalForm1;public static Form LocalForm2;} 在这两个窗体中各添加一个按钮用以打开另外一个窗体,窗体1中打开窗体2的按钮click事件处理...

C# 为何在一个窗体中关闭不了另一个窗体
form1是form2的父级窗体,form2是form3的父级窗体,form2不能关闭form1而独立运行,form1被关闭时,其下属的子窗体都将被关闭,只能使用hide(隐藏);同理,form3中也只能对form2进行隐藏,form3同样也只能对form1进行隐藏或显示。

c#winform中有form1和form2,点击form1中的一个按钮,form2就会出现,当然...
可以理解是窗体传参,其实你不用想的太复杂,Form1 到Form2 自然把Form1需要的值传过来.当点击Form2迎按钮时,可以取Form1传过来的值自然就可以一起添加数据库中了.这里有个案例,窗体传值的案例,你运行就会看到效果,希望能帮到你!

c#中 如何使两个窗口同时活动`比如Form1和Form2可以同时活动
先回答补充问题,在FORM4的CS文件上点右键,把它设置成启动项就行了 再说说窗口的问题,如果你用form2.showDialog(this); 这种方法启动Form2的话是模式方式,就是说在form2在打开的时候,不能访问form2的父窗口,如果想将form2设置为普通窗口,就是说让form2显示的时候同时也能操作其他任何窗口,应该...

相似回答