winForm登錄與主窗體顯示的打開個關閉

 第一個問題就是在登錄的時候驗證正確的時候關閉登錄窗體 顯示主窗體

解決方法:

方法1: 在主窗體中先定義一個login窗體 再用 login 實例化一個窗體 並讓該窗體以對話框的形式顯示, 根據DialogResult的值來判斷是否關閉該登錄窗體 判斷之後在運行主窗體

代碼示例:

主窗體代碼:

 static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            Application.Run(new Login());
            Login log = new Login();
            log.ShowDialog();
            if (log.DialogResult == DialogResult.OK)
            {
                Application.Run(new Main());
            }
        }

login窗體的代碼:

 private void button1_Click(object sender, EventArgs e)
        {
           // 判斷用戶名和密碼是否正確的代碼         

           if (驗證正確)
           {
               this.DialogResult = DialogResult.OK;              
           }
           else
           {
               MessageBox.Show("輸入的用戶名或者密碼錯誤!請重新輸入!");
               

           }
         

        }

——————————————————————————

方法2:

 首先程序load主frmMain,主frmMain就會new一個Login並彈出登陸窗口,在登陸窗口驗證密碼正確以後設置 DialogResult.OK這一句,再將對話框關閉。關閉以後from_load方法繼續運行判斷彈出的登陸框f2的DialogResult是否是 ok,如果是,則加載主表單,如果否,則關閉主表單。

     在private void frmMain_Load(object sender, EventArgs e) 方法裏添加以下代碼

      Form f2 =new Login();
      f2.ShowDialog();
     
if (f2.DialogResult ==
DialogResult.OK)
      {
         MessageBox.Show(
"hello"
);   
      }
     
else

      {
        
this
.Close();
      }


      在private void btnLogin_Click(object sender, EventArgs e)裏添加以下代碼

 

if (Reader.HasRows)//判斷是否有查詢到對象的數據
{
      
this.DialogResult = DialogResult.OK;

      this.Close();
}


      主要原理就是利用的DialogResult = DialogResult.OK來實現的,


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章