最近項目不多忙,于是抽點時間鞏固下切換窗口問題,感興趣的朋友跟著小編一起學習吧!
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#切換窗口的相關介紹,希望對大家有所幫助!