模式窗体 :
被调用的窗体名() 对象名 = new 被调用的窗体名();
对象名.showDialog();
父窗体 :
设置父窗体的IsMDIContainer 属性为True
在show()前设置子窗体MdiParent属性为True
C# WinForm 关闭登陆窗体,打开主窗体的实现. - CSDN博客
来源网址: http://blog.csdn.net/qq520360/article/details/7524234
环境:开发环境Visual Studio 2010 Login.cs是登陆窗口 Main.cs是程序主窗口
问题:一个WinForm程序登陆界面登陆成功后如何关闭登陆窗口显示主窗口?
经菜鸟我多番搜索和实践。由下面方法实现:
主要思想:程序运行后先打开登陆窗口,主窗体在登陆窗口Login.DialogoResult==DialogReesult.OK时运行主窗体
实现方法:
首先在解决方案管理器(Program.cs)里的代码
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form Login = new Login(); Login.ShowDialog();//显示登陆窗体 if (Login.DialogResult == DialogResult.OK) Application.Run(new Main());//判断登陆成功时主进程显示主窗口 else return; }然后在登陆窗口(Login.cs)的登陆按钮(BTLogin)Click事件里:
private void BTLogin_Click(object sender, EventArgs e) { if (TBUserName.Text == "www.520360.com" && TBPassWord.Text == "123") { this.DialogResult = DialogResult.OK;//关键:设置登陆成功状态 this.Close(); } else { MessageBox.Show("账号或密码错误,请重试"); } }运行测试OK!
C#子窗体中有个返回按钮 在点击返回按钮后回到主窗体上 子窗体关闭-CSDN论坛
来源网址: http://bbs.csdn.net/topics/390295380
1.ShowDialog();
2.开启线程关闭窗体打开另一窗体
C# code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public Form form;
public void OpenChildForm()
{
Thread thread = new Thread(showform);
thread.IsBackground = false;
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
}
void showform()
{
Application.Run(form);
}
form =new 你的窗体();
OpenChildForm();
this.Close();
子窗体传值回主窗体显示