大家好,又见面了,我是你们的朋友全栈君。
利用DialogResult属性实现主程序的打开当前窗口的关闭
首先介绍一下非模式化窗体show()和模式化窗体showdialog()的概念: 两种方法都能打开显示窗体, 1.非模式化窗体show()建立新窗口后仍能对原窗口进行操作,比如点击frm窗口上的“登录”按钮,会弹出FrmMain窗口,弹出后仍能对原窗口frm进行操作(移动,点击登录按钮等操作) 2.模式化窗体showdialog()建立新窗口FrmMain后在关闭本窗口前不能对原窗口frm进行任何操作,除非FrmMain窗口被关闭。
在frm1窗体上新建一个button按钮,建立click事件
代码语言:javascript复制 private void button1_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
this.Close(); //关闭当前窗口
}
在主程序program.cs上码入
代码语言:javascript复制 FrmMain frm=new FrmMain();
if (frm.DialogResult==DialogResult.OK)
{
Application.Run(new FrmMain());
}
分析: 点击button按钮后,当前模式窗体的dialogresult属性被设置为ok。关闭窗口(因为是showdialog,所以需要关闭当前窗口才能显示FrmMain窗口),然后执行if语句,运行FrmMain窗口。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152200.html原文链接:https://javaforall.cn