C#如何在关闭一个窗体之后打开另一个窗体
假设登入窗体Frm_Login;主窗体Frm_Main;在program里面写:Application.Run(new Frm_Main());
接着在Frm_Main的Load事件中写:
Frm_Login frm_login=new Frm_Login();
frm_login.showdialog();
这样就基本OK了; --------------------编程问答-------------------- 没听懂意思 但是我不知道是不是这个意思
--------------------编程问答-------------------- 嗯,只能登录窗体隐藏,主窗体显示这样了 --------------------编程问答-------------------- 代码有问题?? --------------------编程问答-------------------- Form ff=new Form()
主窗.hidden
其他窗.show
ff.show();
this.close() --------------------编程问答-------------------- 自问自答 --------------------编程问答-------------------- [Quote=引用 3 楼 xuexiaodong2009 的回复:]
引用楼主 wrf617106268 的回复:
假设登入窗体Frm_Login;主窗体Frm_Main;
在program里面写:Application.Run(new Frm_Main());
接着在Frm_Main的Load事件中写:
Frm_Login frm_login=new Frm_Login();
frm_login.showdialog();
这样就基本OK了;
代码有…
代码是没问题的,在登入了Frm_Login后,你可以关闭这个窗体而不是隐藏,不会影响整个的程序进程 --------------------编程问答-------------------- 我这个不是提问,是自己写代码的一些方法,我自己实验通过了,只是有些细节没说出来,
只是表达这么一种思路; --------------------编程问答-------------------- 路过 学习 --------------------编程问答-------------------- Frm_Main frm=new Frm_Main();
frm.showdialog();
this.visable=false; --------------------编程问答-------------------- 呵呵,恩,先运行主窗体,让主窗体隐藏,在主窗体中show第一个窗体!当第一个窗体关闭后,就让主窗体显示出来吧! --------------------编程问答-------------------- 学习! --------------------编程问答-------------------- 我常用的一种解决方案。。。如下
下面的代码是现敲的所以并不周密。。。。
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Form1());
Application.Run(new MyApp());
}
}
public class MyApp : ApplicationContext
{
public MyApp()
{
Form2 f = new Form2();
f.Show();
}
public class Form2 : Form
{
//....代码。。。
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
Form3 f3 = new Form3();
base.OnClosing(e);
}
}
public class Form3 : Form
{
//....代码。。。
}
protected override void ExitThreadCore()
{
base.ExitThreadCore();
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
}
或许你会说为什么没Form1 因为这是我的一个程序,已经被占用了,我只是添加了代码 给你看的,注释掉的请不要使用。。。。 --------------------编程问答--------------------
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
Form3 f3 = new Form3();
f3.Show();
base.OnClosing(e);
}
不好意思漏掉了一点。。。。请加上 --------------------编程问答-------------------- http://blog.csdn.net/wuyazhe/article/details/5642431
new System.Threading.Thread((System.Threading.ThreadStart)delegate--------------------编程问答-------------------- 感谢wuyazhe,我一直在找用新建线程怎么做 --------------------编程问答-------------------- --------------------编程问答--------------------
{
Application.Run(new Form());
}).Start();
this.Close();
经典之作。 --------------------编程问答-------------------- 如果你是需要弹出登录界面,你可以在program.cs中先弹出login界面,然后在跳出你的主界面
Frm_Login frm_login=new Frm_Login();
Application.Run(frmlogin1);
if (frm_login.DialogResult != DialogResult.OK)
return;
//登录成功后
Application.Run(new Frm_Main());
补充:.NET技术 , C#