我Form1 窗体的左边是选项栏, 右边是一个panel, 左边的选项一换,右边的panel 也换,panel里面的要显示内容我是做了很多个Form(2,3,4,5)窗体来把内容嵌入到里面去的,然后嵌入的时候就去掉边框呢头,这样就实现了 左边点一个选项,右边内容就替换到相应的内容. 我现在遇到的问题是 有一个panel 里面 的内容是 关于账号退出登录的, 点击button 要关闭这个form窗体,然后把登录界面重新nue出来 但是呢 点击这个button退出的时候吧, 只把这个panel里面的窗体退出了 Form1 没有退出,我是新人 不太懂怎么解决, 我想要的是 点击panel里面的button 关闭Form1 这个窗体. 目前只能关闭panel里面的窗体.你们 做过吗? 

解决方案 »

  1.   

    最简单的appliction.exit()
      

  2.   

    https://www.cnblogs.com/zsmhhfy/archive/2012/06/20/2556563.html
      

  3.   

    点击退出 直接关闭进程  Environment.Exit(0);
      

  4.   

    Appliction.exit()
      

  5.   

    panel切换的时候不应该做成Form的,应该做usecontrol,左边的菜单每点一下,右边的panel内容清空,在加载不同的usecontrol 嵌入到panel就行了现在的话你要点击button退出 然后弹出登录界面,有2个方式, 
    1、是退出当前进程,重新运行,然后进入登录界面(如果程序运行是弹出登录界面的话),那点击button后做的事,可以这样
     System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location);
     Environment.Exit(0); 
    退出然后重启当前程序,
    2、不退出当前进程,在程序内部做跳转,也就是退出当前的所有界面,然后new 登录界面弹出,这样的话就需要关闭当前的窗体,然后在new 一个登录界面,在弹出
          //关闭后面的主窗体
          var frm = Application.OpenForms["FrmMain"] as FrmMain;
          frm.Close();
          //new 登录界面
          var frmLogin = new FrmLogin();
    frmLogin .shop();
          //由于当前的点击的按钮是在一个弹出窗体form1上的,当前的窗体也得关闭
          this.Close();上面写的很粗糙,几个窗体间的操作很混乱,不建议这样做,这个退出的界面最好不要用form弹出做
      

  6.   

    退出重新登录没必要把原来的close吧? 你点重新登录的时候 可以把主界面hide ,然后把你的登录界面show出来,登录完了再把主界面show出来并刷新数据。