C#中有Form1,Form2,Form3三个窗体,两个已经打开,打开第三个后,前两个自动关闭。 20
C#中有Form1,Form2,Form3三个窗体,其中Form1,Form2都是已经打开的,如何设置打开Form3后,Form1,Form2自动关闭...
C#中有Form1,Form2,Form3三个窗体,其中Form1,Form2都是已经打开的,如何设置打开Form3后,Form1,Form2自动关闭
展开
5个回答
展开全部
倘若form3是主窗体(main函数中Application.Run(new Form3());
即一运行程序首先运行的窗体)的话不可以直接执行this.Close();
如果执行this.Close();则会把主窗体(主要的部分控制整个程序)关闭同时也把整个程序关闭了,如若想实现的话,按照以下方法:(有一个前提:要弹出的窗体不能是要关闭的窗体的子窗体)
按照正常的在你form3的关闭按钮单击事件里写上this.Close();from2 f2=new form2();f2.Show();这样你会发现按下关闭后整个程序都关了,原因在于你这个程序有个入口点,也就是我们C#里面提到的Main方法,在WForm窗体编程中,点解决方案资源管理,里面有个Program.cs类,点开它,在Main方法里有这样一行代码Application.Run(new Form3()); 这是一个系统的静态类Application的一个Run方法,为了实现程序第一个启动的的程序,里面写的new Form3()就是启动了一个Form3的对象,这也就是每次我们程序点调试时候会第一个弹出Form3窗口的原因。 为了实现你提到的问题,我们可以把Application.Run(new Form3());发放里的new Form3();给去掉,然后在其前面手动把Form3给Show出来;
即一运行程序首先运行的窗体)的话不可以直接执行this.Close();
如果执行this.Close();则会把主窗体(主要的部分控制整个程序)关闭同时也把整个程序关闭了,如若想实现的话,按照以下方法:(有一个前提:要弹出的窗体不能是要关闭的窗体的子窗体)
按照正常的在你form3的关闭按钮单击事件里写上this.Close();from2 f2=new form2();f2.Show();这样你会发现按下关闭后整个程序都关了,原因在于你这个程序有个入口点,也就是我们C#里面提到的Main方法,在WForm窗体编程中,点解决方案资源管理,里面有个Program.cs类,点开它,在Main方法里有这样一行代码Application.Run(new Form3()); 这是一个系统的静态类Application的一个Run方法,为了实现程序第一个启动的的程序,里面写的new Form3()就是启动了一个Form3的对象,这也就是每次我们程序点调试时候会第一个弹出Form3窗口的原因。 为了实现你提到的问题,我们可以把Application.Run(new Form3());发放里的new Form3();给去掉,然后在其前面手动把Form3给Show出来;
展开全部
可以在program类声明一个bool型的静态字段,用来标记form1和form2的开关状态,既两者都打开时此字段为true,否则为false.字段的赋值就可以通过以上两个窗体的加载和关闭事件进行赋值。然后在form3的加载事件中进行相应的操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在第三个窗体打开时写
form1 f1=new form1();
f1.exit();
form2 f2=new form2();
f2.exit();
关闭就是彻底退出 而hide则是隐藏 没有关闭窗体
form1 f1=new form1();
f1.exit();
form2 f2=new form2();
f2.exit();
关闭就是彻底退出 而hide则是隐藏 没有关闭窗体
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Form1,Form2是主窗体的话 就只能hide
不是才可以关闭
实现的话,可以使用委托,或者直接传递引用
可以看下参考资料
不是才可以关闭
实现的话,可以使用委托,或者直接传递引用
可以看下参考资料
参考资料: http://blog.csdn.net/bdstjk/article/details/7007882
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Form1 f1=new Form1();
f1.Hide();
Form2 f2=new Form2();
f2.Hide();
f1.Hide();
Form2 f2=new Form2();
f2.Hide();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询