代码改变世界

使用C#打开新窗口关闭旧窗口的方法

2008-10-06 22:26  Iron  阅读(4157)  评论(0编辑  收藏  举报

 

      最近在练习制作一套会员积分管理系统,顺便研究了一下打开新窗口后关闭旧窗口的方法,在网上查阅了很多资料,又结合自己的试验总结如下,如果有什么纰漏,还请大家多多指正。

1、网上流传最广的应该是隐藏法了,原理就是把旧窗口隐藏掉,再打开新窗口。

具体的代码如下:

//在旧窗口中的合适位置写这些代码

//新建一个NewForm窗口(NewForm是自己定义的Form)

NewForm fm=new NewForm()

this.Hide();                           //隐藏现在这个窗口

fm.Show();                           //新窗口显现

      这种方法旧的窗口依旧会占内存,因此如果用来做登陆窗口不太好,但是如果旧窗口是以后还需要恢复的主窗口,这个方法便很不错,因为以后可以关掉新窗口,再用 旧窗口.Show() 就可以恢复旧窗口了。

所以这个方法适合在主窗口和子窗口间传递信息。

2、再来便是为登录窗口设计的方法了。

在Program.cs里这样定义:

static void Main()

        {

            Application.EnableVisualStyles();

            Application.SetCompatibleTextRenderingDefault(false);

            //新建Login窗口(Login是自己定义的Form)

            Login Log = new Login(); 

                       

            //使用模式对话框方法显示Log

            Log.ShowDialog();

 

            //DialogResult就是用来判断是否返回父窗体的

            if (Log.DialogResult == DialogResult.OK) 

            {

               //在线程中打开主窗体

               Application.Run(new Main());               

            }           

        }

在登陆窗口中验证结束后要赋值Log.DialogResult = DialogResult.OK 。

这样登录窗口完成任务后会被直接关掉,主窗口就打开了。

感谢:http://www.cnblogs.com/myloverlanlan/archive/2008/03/21/1116816.html