winform中Load事件和shown事件以及自動登陸的實現


winform中load事件是窗體加載的時候執行的時間。在執行的時候,窗體還沒顯示出來。而Shown事件窗體已經顯示出來,控件加載完成,需要注意的是:如果控件設置了背景圖片,那么控件的背景顏色是不顯示的。如果做自動登陸,需要窗體顯示完成顯示幾秒。可以用Timer控件。而不是在shown中暫停線程。

 

#region 窗體加載時如果記住密碼,加載密碼、用戶名;如果自動登錄,窗體加載成功后,2s執行自動登錄
        /// <summary>
        /// 窗體加載時如果記住密碼,加載密碼、用戶名;如果自動登錄,窗體加載成功后,2s執行自動登錄
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Login_Load(object sender, EventArgs e)
        {
            if (getIsRemberPassword())
            {
                this.txt_UserName.Text = getUserNameByXml();
                this.txt_Password.UseSystemPasswordChar = true;
                this.txt_Password.Text = getUserPasswordByXml();
                this.chk_RemberPwd.Checked = true;
            }
            if (getIsAutoLogin())
            {
                this.chk_AutoLogin.Checked = true;
                this.chk_RemberPwd.Enabled = false;
                System.Timers.Timer timer_Login = new System.Timers.Timer(500);
                timer_Login.Elapsed += timerLogin;
                timer_Login.AutoReset = false;
                timer_Login.Enabled = true;
            }

        }
        #endregion

        #region 自動登錄事件
        /// <summary>
        /// 自動登錄事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void timerLogin(object sender, System.Timers.ElapsedEventArgs e)
        {
            if (userlogin() > 0)
            {
                this.DialogResult = DialogResult.OK;
            }
        }
        #endregion


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM