日期:2014-05-18  浏览次数:20815 次

关于C#窗体关闭的问题,求指教!!!
我新建了两个窗体1和2。然后按1的某个按钮时跳转到2,此时1隐藏,2出现。
我想实现单击2的关闭按钮时结束整个程序。可运行的时候隐藏的那个1并不会结束。线程占用着。
想问下该怎么办?


------解决方案--------------------
C# code
Form2 f2 = new Form2();
                this.Hide();
                f2.FormClosed += (s, j) => { Application.Exit(); };
                f2.Show();

------解决方案--------------------
单击2关闭按钮时调用 Application.Exit();
------解决方案--------------------
C# code
 


 Process.GetCurrentProcess().Kill();

------解决方案--------------------
Environment.Exit(0);
------解决方案--------------------
把窗口1的实例引用譬如 Wind1传入窗口2,在窗口2的那个Button事件中调用 Wind1.Close()。也许可能要Invoke,因你的窗口创建是否在同一线程不确定。
------解决方案--------------------
Form1
C# code

        private void button1_Click(object sender, EventArgs e)
        {
            bool isOpened = false;
            foreach (Form frm in Application.OpenForms)
            {
                if (frm.Name == "Form2")
                {
                    isOpened = true;
                    frm.Show();
                    break;
                }
            }
            if (!isOpened)
            {
                Form2 f = new Form2();
                f.Show();
            }
            this.Hide();
        }