最近項(xiàng)目不多忙,于是抽點(diǎn)時(shí)間鞏固下切換窗口問題,感興趣的朋友跟著小編一起學(xué)習(xí)吧!
1、第一個(gè)方法比較簡(jiǎn)單,也比較萌,是我最近無(wú)意間發(fā)現(xiàn)的~
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(); } //先設(shè)定主窗體(也就是MainFrom_Client)的透明度和任務(wù)欄狀態(tài) private void SetMainTreadState() { //這個(gè)其實(shí)是障眼法!把主窗體(也就是MainFrom_Client)的弄成隱形的, //只需要把Opacity改成就出來(lái)了,哈哈哈哈哈哈哈哈 this .Opacity = ; //然后在把菜單欄運(yùn)行的顯示也隱形掉 this .ShowInTaskbar = false ; } private void ResetMainThreadState() { this .Opacity = ; this .ShowInTaskbar = true ; //把當(dāng)前控件帶到前面來(lái)就好了 this .BringToFront(); } |
此時(shí)窗體是隱形的,可以隨便重新設(shè)定一個(gè)函數(shù),等滿足設(shè)定的某個(gè)特定條件時(shí)就調(diào)用ResetMainThreadState()函數(shù),這樣主窗體MainFrom_Client就會(huì)顯示出來(lái)了~
萌萌噠的掩耳盜鈴方式~
2、還有一個(gè)就是實(shí)打?qū)嵉拇绑w調(diào)用問題了(查了好久的知識(shí),累死寶寶了T^T)
我的Program.cs文件,先確定最先出現(xiàn)的登錄界面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());,這樣最大的問題就是,如果我從登錄界面進(jìn)入用戶界面,想要關(guān)閉登錄界面的話,系統(tǒng)就會(huì)自動(dòng)以為你退出了程序,這樣我就沒辦法進(jìn)入到用戶界面,此時(shí)如果我非要進(jìn)入用戶界面的話,就可以用類似1的方法,用隱藏等各種方式以此不顯示登錄界面。
這種方法其實(shí)不錯(cuò),可是我就是有點(diǎn)死性子,所以我一定要關(guān)閉登錄界面,所以在Program.cs中設(shè)定好了Application.Run();,這樣我后面怎么“虐待”登錄界面,都不會(huì)影響程序的繼續(xù)使用。
然后就是我的登錄界面的程序了~簡(jiǎn)單了吧~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#region 由登陸界面進(jìn)入到用戶界面 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( "用戶名與密碼錯(cuò)誤,請(qǐng)重新輸入" ); } } #endregion |
以上內(nèi)容是針對(duì)C#切換窗口的相關(guān)介紹,希望對(duì)大家有所幫助!