C# 父窗口(form1)与子窗口(form2)的问题
就是在父窗体上有一个按钮,点击弹出子窗体。这时要求在子窗体没关闭时,父窗体不能被操作,所有的控件不能被点击也不能修改父窗体的内容。也不能被关闭。必须在子窗体关闭后才能操作...
就是在父窗体上有一个按钮,点击弹出子窗体。这时要求在子窗体没关闭时,父窗体不能被操作,所有的控件不能被点击也不能修改父窗体的内容。也不能被关闭。必须在子窗体关闭后才能操作父窗体
展开
3个回答
展开全部
两种方法,第一种如楼上所说,用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;
}
个人建议用第二种
第二种是使用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;
}
个人建议用第二种
展开全部
你在页面跳转的时候用 from2.ShowDialog()而不是用from2.Show();
追问
我这里的form2是子窗体不是顶级窗体,ShowDialog()不行的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那样的话,就别设置成父子关系,直接创建个新窗口行不?试试看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询