c#中如何设计一个窗体关闭,另一个窗体打开?

form1窗体中有一个关闭按钮,单击这个按钮,form1窗体关闭了。form2窗体随之弹出来。... form1窗体中有一个关闭按钮,单击这个按钮,form1窗体关闭了。
form2窗体随之弹出来。
展开
 我来答
兰弘雅03y
推荐于2016-11-25
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
可以的,按照正常的在你form1的关闭按钮单击事件里写上
this.Close();
from2 f2=new form2();
f2.Show();
这样你会发现按下关闭后整个程序都关了,
原因在于你这个程序有个入口点,也就是我们C#里面提到的Main方法,在WForm窗体编程中,点解决方案资源管理,里面有个Program.cs类,点开它,在Main方法里有这样一行代码
Application.Run(new Form1());

这是一个系统的静态类Application的一个Run方法,为了实现程序第一个启动的的程序,里面写的 new Form1() 就是启动了一个Form1的对象,这也就是每次我们程序点调试时候会第一个弹出Form1窗口的原因。

为了实现你提到的问题,我们可以把Application.Run(new Form1()); 发放里的new Form1();给去掉,然后在其前面手动把Form1给Show出来;Program这个类的代码改成如下:

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace WindowsApplication1
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 f1=new Form1();
f1.Show();
Application.Run();
}
}
}

这样就可以解决你说的问题了

楼上那人回答的也对,不过this.Hide();是隐藏了这个窗口,而不是关闭;
kyhx123
2008-12-17 · TA获得超过119个赞
知道答主
回答量:93
采纳率:0%
帮助的人:0
展开全部
我一开始学C# 的 时候也遇到这个问题

首先 刚开始创建 项目的时候一般默认form1
为主程序,那么 form1关闭整个程序即关闭

所以你需要到 程序入口处 加入 运行form2窗体的依据代码 和 form1 的相同即可

然后到 form1 的 关闭按钮事件中加入
form2 f2 = new form();
f2.show();//打开form2窗体

this.close();//管理当前窗体
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友37aa9f3
2008-12-17 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:106万
展开全部
this.hide();
form2 f2=new form2();
f2.Show();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心心想嬉
2008-12-17 · TA获得超过168个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:221万
展开全部
因为当你关闭一个窗体的时候.已经释放系统资源.那么启动新窗体已经不可能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式