淺談如何在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();
          同樣可以通過以上的方法實現驗證數據庫連接參數的準確性
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章