浅谈如何在C#Winform程序中正确使用登录窗体
看到很多朋友在CSDN中發帖放分求“如何實現登錄驗證正確后彈出主窗體”的問題。關于這個問題的實現方法,一般很多人都是使用在登錄窗體點擊“登錄”按鈕后,通過后臺數據驗證正確后,把登錄窗體隱藏,然后載入主窗體。還有一種做法是以上提問的這些人的一個不太對的一個實現辦法(其實是無法實現的),他們的做法是點擊“登錄”按鈕后,調用this.close()方法去把登錄窗體關閉,然后實例化主窗體
?????????? frmMain dlg=new frmMain();
?????????? dlg.ShowDialog();
???????? 用以上代碼想實現登錄后加載主窗體,你可以發現,當點擊“登錄”按鈕后,登錄窗體確實是關閉了,然后程序加載主窗體,主窗體是一閃而過,隨即又關閉了。這是為什么呢?其實,你調用登錄窗體的關閉事件時,把進程給關了,frmMain和frmLogin窗體是同一個進程,所以就出現了以上的一閃而過的現象。
???????? 那么我們如何能夠實現驗證登錄信息正確后加載主窗體呢?我的答案是通過驗證返回參數去實現過程控制。
???????? 在程序的類庫里定義一個全局變量,如Bool? bLoginOk=false;
???????? 此變量在未作登錄時的初始值為false。
???????? 在項目中的Program.cs中,通過先加載frmLogin,點擊登錄窗體中的“登錄”按鈕后,在后臺查詢數據庫驗證合法性,如果合法,則把bLoginOk賦值true;否則賦值falsse。
???????? 在最后通過判斷bLoginOk的值
??????? if(bLoginOk==true)
?????? {
?????????? Application.run(frmMain);
?????? }
????? else
????????? Application.Exit();
????????? 同樣可以通過以上的方法實現驗證數據庫連接參數的準確性。
轉載于:https://blog.51cto.com/marsng/1792114
總結
以上是生活随笔為你收集整理的浅谈如何在C#Winform程序中正确使用登录窗体的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matio使用
- 下一篇: C#正则表达式提取文本中以逗号间隔的数据