c#如何实现关闭当前窗体并打开另一个已经创建的窗体。

如题所述

1.在winform项目中,右键单击-添加-新项目-windows窗体-windows窗体。

2.将一个按钮拖到Form1中,并更改Text属性以弹出表单。

3.双击按钮进入编码界面。

4.编写代码“Form2Form2=newForm2;Form2。ShowDialog();“.

5.点击开始按钮或按F5运行程序。

6.单击弹出式表单按钮后,将弹出一个新表单。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-25
不能关的,你正在启动的这个窗体已经是主线程了,如果你把它关了,你就等于是把主线程关了,其他的画面就算是起来了,你也看不到,马上就被关闭了。如果你想要做到你说的效果,那就只能这么做:Form2 form2 = new Form2();
form2.ShowDialog(this);//这里一定要用ShowDialog,否则画面程序依旧会结束。
this.Close();//关闭Form2后,程序退出
然后在Form2的Load事件里写上:
this.Owner.Hide();//隐藏Form1
只有这么做,才能达到你的目的。本回答被提问者采纳
第2个回答  2012-03-17
其实可以试着把当前窗体隐藏掉,然后打开已经创建的窗体。如果非得要关闭的话,用线程打开新窗体。
第3个回答  2012-03-18
form2为第二个窗体。

在第一个窗体里写。
Form2 f=new Form2 ();
f.ShowDialog();
this.Close();
第4个回答  2012-03-17
this.Close();
Form2 fm=new Form2();
fm.Show();追问

这不是我想要的,你的回答百度上已经有了,我也已经试过了,行不通。

追答

关闭窗体 打开新窗体 不就是这样的么 你啥问题

C# 关闭一个窗体同时打开另外一个窗体
这个问题可以通过对Main函数处理来达到要求,可以使用Login窗口使用ShowDialog显示。参考如下:static class Program { \/\/\/ \/\/\/ 应用程序的主入口点。 \/\/\/ [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(fal...

c#中一个窗体关闭同时另一个窗体可用(另一窗体原来是显示的但不能...
fm2.ShowDialog(this);直到form2关闭 form1才能被操作 另一个方法:::打开新窗体:Form2 f = new Form2(this);\/\/把本窗体传过去 f.Show();this.Enabled = false;\/\/新窗体 public partial class Form2 : Form { Form1 f = null;public Form2(Form1 f)\/\/把窗体信息传过来 { InitializeCompo...

C#中在一个窗体中点击弹出另一个窗体,同时关闭本窗体
点击按钮后this.Hide();new Form2().Show();隐藏后要让他显示的话 再次调用控件的Show()方法就好了

C#关闭窗体后如何弹出另一个窗体?
前一个事件是关闭窗口前执行,后一个是关闭窗体后,执行 两个事件都可以,在里面写 Form2 form2 =new Form2();Form2.show();

C#.NET中怎样打开一个新Form,同时关闭当前Form?
可以这样做 修改 Program.cs 文件的 Main 方法 static void Main(){ Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());Form2 frm = new Form2();frm.ShowDialog();} 如果通过验证,那么就关闭窗体1,窗体2也就自然的出来了 如果没通过...

C#关闭窗体后如何弹出另一个窗体?
from2 f2=new form2();f2.Show();这样你会发现按下关闭后整个程序都关了,原因在于你这个程序有个入口点,也就是我们C#里面提到的Main方法,在WForm窗体编程中,点解决方案资源管理,里面有个Program.cs类,点开它,在Main方法里有这样一行代码 Application.Run(new Form1());这是一个系统的静态...

C#登录成功后如果关闭此窗口form1打开另一个窗口form2,求教
;if (login.DialogResult.Equals(DialogResult.OK)) \/\/登陆成功才显示主窗口 Application.Run(new Form2());然后打开你的登录的窗体,在点击确定按钮事件中,写类似于这样的代码 if (this.txtUser.Text == "admin" && this.txtPsd.Text == "123456") this.DialogResult = DialogResult.OK;...

怎么在C#中实现打开一个新窗口的同时关闭原来旧窗口
所以你在启动第一个窗提的时候就把窗体隐藏 隐藏后 你启动第二个窗体 在第2个窗体里 写:Form1 F1;在第二个窗体里的构造函数里加参数 Form1 f1然后在函数里把参数给F1;F1 = f1;然后你就可以写登陆了 如果登陆成功 F1.Show(); 关闭Form2 this.Close();这样就可以 很简单的 本回答被提问者和网友采纳...

C#中在一个窗体中点击弹出另一个窗体,同时关闭本窗体
思路:在第一个窗体的关闭时事件里面写 打开第二个窗体,然后关闭本窗体。 注意事件是关闭时。。。还有一个关闭后事件。。。注意区别。。。 如需代码请联系我,同时说明是winform窗体还是web窗体。

c#中如何设置打开一个窗体一秒中后自动关掉直接打开另一个主窗体
在该窗体Form1中引入一个Timer控件 将该控件的interval属性设置为1000 Enabled属性设置为true 然后双击该控件输入:this.Close();并在Form1中的FormClosed事件中输入以下语句:Form2 f2 = new Form2();f2.Show();以上假设Form1和Form2分别为第一个窗体和另一个窗体 参考资料:http:\/\/www.biye5u....

相似回答