正在做一个小程序,两道密码验证:
程序首先运行Login form,然后如果用户名和密码验证成功
MACPWD frm = new MACPWD();
                    frm.StartPosition = FormStartPosition.CenterScreen;
                    frm.ShowDialog();
MACPWD form是将MAC地址转换成一个密码数字,然后验证用户是否输入一致,如果正确的话,打开下面窗口
MainTool frm = new MainTool();
                 frm.StartPosition = FormStartPosition.CenterScreen;
                 frm.ShowDialog();
问题是:
当MainTool窗口打开后,login和MACPWD同时存在,比较乱。怎样加上代码让MainTool打开后,关闭MACPWD窗口。
如果哪位高手再告诉我关闭Login 窗口那就最好了。先谢谢各位了。

解决方案 »

  1.   

    http://topic.csdn.net/u/20110719/14/ff5e6f43-1554-497b-9956-c5ff6af13fd0.html以前回复的帖子,希望对你有帮助
      

  2.   

    MainTool load事件里 执行MACPWD Login 窗口
      

  3.   

    private void button1_Click(object sender, EventArgs e)
            {
                Thread th = new Thread(show);
                th.IsBackground = false;
                th.Start();
                this.Close();
            }
            void show()
            {
                test1 test = new test1();
                Application.Run(test);
            }
      

  4.   

    andywangguanxi的帖子解决了关闭一个子窗体的问题。但为什么我试了hide主窗体不行MACPWD frm = new MACPWD();
                        frm.StartPosition = FormStartPosition.CenterScreen;
                        frm.ShowDialog();
                        if (frm.DialogResult == DialogResult.OK)//我在MACPWD执行成功后赋值dialogresult等于ok
                        {
                            frm.Close();//这里关闭成功
                            MainTool mainfrm = new MainTool();
                            mainfrm.StartPosition = FormStartPosition.CenterScreen;
                            mainfrm.ShowDialog();//开启成功
                            this.Hide();//这里隐藏主窗体没用,为什么?
                        }