C# WinForm 关闭登陆窗体,打开主窗体的实现. (总结)

模式窗体 : 

被调用的窗体名() 对象名 = new 被调用的窗体名();  

对象名.showDialog();

父窗体 :

设置父窗体的IsMDIContainer 属性为True  

在show()前设置子窗体MdiParent属性为True

C# WinForm 关闭登陆窗体,打开主窗体的实现. - CSDN博客

来源网址: http://blog.csdn.net/qq520360/article/details/7524234

C# WinForm 关闭登陆窗体,打开主窗体的实现.

原创 2012年05月03日 09:08:50

标签:

winform /

c# /

login /

object /

测试 /

2010

环境:开发环境Visual Studio 2010  Login.cs是登陆窗口   Main.cs是程序主窗口

问题:一个WinForm程序登陆界面登陆成功后如何关闭登陆窗口显示主窗口?

经菜鸟我多番搜索和实践。由下面方法实现:

主要思想:程序运行后先打开登陆窗口,主窗体在登陆窗口Login.DialogoResult==DialogReesult.OK时运行主窗体

实现方法:

 首先在解决方案管理器(Program.cs)里的代码

[csharp] view plain

copy

  1. static void Main()  
  2. {  
  3.     Application.EnableVisualStyles();  
  4.     Application.SetCompatibleTextRenderingDefault(false);  
  5.     Form Login = new Login();  
  6.     Login.ShowDialog();//显示登陆窗体  
  7.     if (Login.DialogResult == DialogResult.OK)  
  8.         Application.Run(new Main());//判断登陆成功时主进程显示主窗口  
  9.     else return;  
  10. }  

然后在登陆窗口(Login.cs)的登陆按钮(BTLogin)Click事件里:

[csharp] view plain

copy

  1. private void BTLogin_Click(object sender, EventArgs e)  
  2. {  
  3.     if (TBUserName.Text == "www.520360.com" && TBPassWord.Text == "123")  
  4.     {  
  5.         this.DialogResult = DialogResult.OK;//关键:设置登陆成功状态  
  6.         this.Close();  
  7.     }  
  8.     else  
  9.     {  
  10.         MessageBox.Show("账号或密码错误,请重试");  
  11.     }  
  12. }  

运行测试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();

子窗体传值回主窗体显示

猜你喜欢

转载自blog.csdn.net/qq_27178453/article/details/81280619
今日推荐