zoukankan      html  css  js  c++  java
  • C#如何关闭一个窗口的同时打开另一个窗口

    在.net的WinForm程序中,如果是直接起动的Form作为主窗口,那么这个主窗口是不能关闭的,因为它维护了一个Windows消息循环,
    它一旦关闭了就等于声明整个应用程序结束,所以新打开的窗口也就被自动关闭了。因此要关闭的窗口不能用Application.Run创建。
    如何使用Hide()(只是隐藏,其实进程还被占用着)之类或者Close()(这个操作会把所有窗体关闭,因为属于同一个线程)是达不到我们需要的效果的。
    要在关闭一个窗口的同时打开另一个窗口,可以按如下做法:

    先在第一个窗口声明一个公共的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();关闭第一个窗口。

     

  • 相关阅读:
    从O(n^3) 到 O(n)求最大连续和
    冲刺博客NO.6
    冲刺博客NO.5
    冲刺博客NO.4
    冲刺博客NO.3
    冲刺博客NO.2
    冲刺博客NO.1
    结对开发:四则运算(网页版)
    课堂作业3
    软件工程概论02~ 四则运算
  • 原文地址:https://www.cnblogs.com/xuliangxing/p/5984638.html
Copyright © 2011-2022 走看看