#利用DialogResult属性实现主程序的打开当前窗口的关闭

2022-06-25 13:06:54 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

利用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

0 人点赞