有两个窗体form1和form2。
Program.cs中的入口是form1。。
form1中有个按钮,我要实现的是点击后关闭form1,打开form2。。代码我这样写的
form2 form = new for2();
form.show();
this.close();
点击后两个都关闭了,请问怎么样实现我要的效果??
Program.cs中的入口是form1。。
form1中有个按钮,我要实现的是点击后关闭form1,打开form2。。代码我这样写的
form2 form = new for2();
form.show();
this.close();
点击后两个都关闭了,请问怎么样实现我要的效果??
form.show();
this.close(); --->>>this.Hide();因为主窗口关闭时会结束主线程。
而你的程序只有一个线程即主线程,故而主窗口一旦关闭即程序结束。上述Hide方式若不想用,可以在新线程中开启新窗口,这样关闭主线程程序仍不会终止。
详情请查阅线程、windows编程等基础知识
如果我再关闭form的话,那么form就一直是隐藏的,进程里面还会存在这个东西。。
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 form1 = new Form1();
form1.ShowDialog();
Application.Run(new Form2());
}
Form2 f2=new Form2;
Form2.f1=this;
f1.visable=false;在Form2中这样定义
Form1 f1;(全局的)Form2关闭时这样
f1.show();