最近项目不多忙,于是抽点时间巩固下切换窗口问题,感兴趣的朋友跟着小编一起学习吧!
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#切换窗口的相关介绍,希望对大家有所帮助!