Processing math: 100%

C#关闭一个窗口的同时打开另一个窗口

在.net的WinForm程序中,如果是直接起动的Form作为主窗口,那么这个主窗口是不能关闭的,因为它维护了一个Windows消息循环,它一旦关闭了就等于声明整个应用程序结束,所以新打开的窗口也就被自动关闭了。因此要关闭的窗口不能用Application.Run创建。
要在关闭一个窗口的同时打开另一个窗口,可以按如下做法:

先在第一个窗口声明一个公共的bool变量并赋值为true:
 如public bool closeflag = true;
在program类里运行第二个窗口,主要代码:
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Form1 form1 = new Form1();
            form1.ShowDialog();  //模式窗口,先运行Form1的作用
            if (from1.closeflag == false)
            {
                Application.Run(new Form2());
            }

然后在Form1的关闭的相关控件(如按钮或什么的,就是要关闭这个窗口的控件)  将closeflag赋值为false,并调用this.close();关闭第一个窗口。

 

出处:http://www.cnblogs.com/daban/archive/2012/07/06/2579471.html

posted on   jack_Meng  阅读(9519)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· .NET Core GC压缩(compact_phase)底层原理浅谈
· Winform-耗时操作导致界面渲染滞后
· Phi小模型开发教程:C#使用本地模型Phi视觉模型分析图像,实现图片分类、搜索等功能
· 深度学习基础理论————CV中常用Backbone(Resnet/Unet/Vit系列/多模态系列等
历史上的今天:
2015-03-13 学习动态性能表(22)V$resource_limit
2015-03-13 学习动态性能表(21)v$lincense
2015-03-13 学习动态性能表(20)--v$waitstat
2015-03-13 学习动态性能表(19)--v$undostat
2015-03-13 学习动态性能表(18)--v$system_event
2015-03-13 学习动态性能表(17)--vsegstat&vsegment_statistics
2015-03-13 学习动态性能表(16)--v$rowcache

导航

< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩