最近项目不多忙,于是抽点时间巩固下切换窗口问题,感兴趣的朋友跟着小编一起学习吧!
1、第一个方法比较简单,也比较萌,是我最近无意间发现的~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
public MainFrom_Client() { InitializeComponent(); SetMainTreadState(); } //先设定主窗体(也就是MainFrom_Client)的透明度和任务栏状态 private void SetMainTreadState() { //这个其实是障眼法!把主窗体(也就是MainFrom_Client)的弄成隐形的, //只需要把Opacity改成就出来了,哈哈哈哈哈哈哈哈 this .Opacity = ; //然后在把菜单栏运行的显示也隐形掉 this .ShowInTaskbar = false ; } private void ResetMainThreadState() { this .Opacity = ; this .ShowInTaskbar = true ; //把当前控件带到前面来就好了 this .BringToFront(); } |
此时窗体是隐形的,可以随便重新设定一个函数,等满足设定的某个特定条件时就调用ResetMainThreadState()函数,这样主窗体MainFrom_Client就会显示出来了~
萌萌哒的掩耳盗铃方式~
2、还有一个就是实打实的窗体调用问题了(查了好久的知识,累死宝宝了T^T)
我的Program.cs文件,先确定最先出现的登录界面Login_interface()。
1
2
3
4
5
6
7
8
|
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault( false ); Login_interface login_ = new Login_interface(); login_.Show(); Application.Run(); } |
一般的Program.cs文件里都是Application.Run(new Login_interface());,这样最大的问题就是,如果我从登录界面进入用户界面,想要关闭登录界面的话,系统就会自动以为你退出了程序,这样我就没办法进入到用户界面,此时如果我非要进入用户界面的话,就可以用类似1的方法,用隐藏等各种方式以此不显示登录界面。
这种方法其实不错,可是我就是有点死性子,所以我一定要关闭登录界面,所以在Program.cs中设定好了Application.Run();,这样我后面怎么“虐待”登录界面,都不会影响程序的继续使用。
然后就是我的登录界面的程序了~简单了吧~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#region 由登陆界面进入到用户界面 private void button_Click( object sender, EventArgs e) { if (textBox_UserName.Text == "" && textBox_PassWord.Text == "" ) { this .Close(); User_Panel fm = new User_Panel(); fm.Show(); } else { MessageBox.Show( "用户名与密码错误,请重新输入" ); } } #endregion |
以上内容是针对C#切换窗口的相关介绍,希望对大家有所帮助!