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