日期:2014-05-19  浏览次数:20727 次

问一个程序入口点Main()的问题.
第一次做项目就遇到关于窗口关闭打开的问题了.
main.cs                           入口点程序(类文件)
FMLogin.cs                     登陆窗口(WinForm)
FMMain.cs                       程序主体(WinForm)


在main.cs入口点程序里是这样的 "

static   void   Main()
{
Application.Run(new   FMLogin);
}

==============================================
在FMLogin.cs里面.当前用户验正通过时.是这样的.
FMMain   fmmain=new   FMMain();
fmmain.show();
this.close();

=============================================
这时候整个程序都退出了.
后来想到在Main.cs入口点方法里...

static   void   Main()
{
Application.Run(new   FMLogin);
}
这里就只打开FMLlogin窗口  
如果关闭了.因为下面没有程序.所以整个程序关闭了?

请问我要如何随便我打开任意一个窗口,关闭任意一个窗口呢?
是不是
static   void   Main()
{
          在这里用While的方法吗?
          while()
          {
            }
}


------解决方案--------------------
static void Main()
{
new FMLogin()
...
...
Application.Run(new FMMain);
}
------解决方案--------------------
static void Main()
{
Application.Run(new FMMain);

}

============================
fmmain构造函数

 new fmlogin();
fmlogin.showdiagln();

------解决方案--------------------
static void Main()
{
Application.Run(new FMMain);

}

============================
fmmain的LOAD事件{
 new fmlogin();
if(dialogReuslt.Cancel ==fmlogin.showdiagln())
{退出或提示}

------解决方案--------------------
this.Hide()应该不会关闭,但是内存会占用一点资源吧。

建议用YUAN168的方法
------解决方案--------------------
要返回FMLogin,那用hide()方法也不错

Show方法显示出来的窗体属于子窗体,好像依赖父窗体的存在。

父窗体关闭之前,会关闭所有子窗体。