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

#利用DialogResult属性实现主程序的打开当前窗口的关闭利用DialogResult属性实现主程序的打开当前窗口的关闭首先介绍一下非模式化窗体show()和模式化窗体showdialog()的概念:两种方法都能打开显示窗体,1.非模式化窗体show()建立新窗口后仍能对原窗口进行操作,比如点击frm窗口上的“登录”按钮,会弹出FrmMain窗口,弹出后仍能对原窗口frm进行操作(移动,点击登录按钮等操作)2.模式化窗体showdialog()建…

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

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

首先介绍一下非模式化窗体show()和模式化窗体showdialog()的概念:
两种方法都能打开显示窗体,
1.非模式化窗体show()建立新窗口后仍能对原窗口进行操作,比如点击frm窗口上的“登录”按钮,会弹出FrmMain窗口,弹出后仍能对原窗口frm进行操作(移动,点击登录按钮等操作)
2.模式化窗体showdialog()建立新窗口FrmMain后在关闭本窗口前不能对原窗口frm进行任何操作,除非FrmMain窗口被关闭。
新建一个button按钮
在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窗口。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152200.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea 离线安装 lombok插件[通俗易懂]

    idea 离线安装 lombok插件[通俗易懂]Lombok简介Lombok是Java语言的实用工具,确切的说,应该说是一个很好用的插件,对,插件!可以用来帮助开发人员消除Java代码的冗长,尤其是对于简单的Java对象(POJO),它通过注解实现这一目的,而不是一大段一大段的Java方法。ProjectLombokmakesjavaaspicierlanguagebyadding’handlers’thatknowho…

    2022年5月7日
    98
  • iocp是什么_acception

    iocp是什么_acception接受连接请求服务器要做的最普通的事情之一就是接受来自客户端的连接请求。在套接字上使用重叠I/O接受连接的惟一API就是AcceptEx()函数。有趣的是,通常的同步接受函数accept()的返回值是一个新的套接字,而AcceptEx()函数则需要另外一个套接字作为它的参数之一。这是因为AcceptEx()是一个重叠操作,所以你需要事先创建一个套接字(但不要绑定或连接它…

    2022年9月29日
    3
  • 微软高性能缓存AppFabric (一) 安装「建议收藏」

    微软高性能缓存AppFabric (一) 安装「建议收藏」博客原文链接:http://www.cnblogs.com/Qbit/p/6088703.htmlAppFabric缓存功能的前身是VeloCity,它是基于windows平台的一个高速内存缓存

    2022年7月2日
    36
  • ?条件运算符的结合——从右往左[通俗易懂]

    ?条件运算符的结合——从右往左[通俗易懂]#include<stdio.h>#include<stdlib.h>intmain(){ intmax=1; inti=11,j=13,k=5; max=i>j?i>k?i:k:j>k?j:k; printf(“max=%d\n”,max); return0;}…

    2022年10月2日
    4
  • pycharm导入Python_python简单项目

    pycharm导入Python_python简单项目1安装Anaconda1、安装anocandahttps://www.jianshu.com/p/d3a5ec1d9a082、配置anocanda环境变量3、测试安装成功看到如下就安装成功了2python3.81、安装软件等待安装完成!2、添加python的环境变量3、测试成功3、pycharm导入python项目1、打开对应的项目2、将python3.8导入该项目中遇到如下问题:(如

    2022年8月28日
    1
  • linux命令启动MySQL

    linux命令启动MySQL====================================可使用如下命令启动MySQL:servicemysqldstart或者使用如下命令:/etc/init.d/mysqldstart可使用如下命令重新启动MySQL:servicemysqldrestart或者使用如下命令:/etc/init.d/mysqldrestart====…

    2022年5月11日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号