private void timer_tryToLogin_Elapsed(object sender, EventArgs e)
        {
            Debug.Print(DateTime.Now.ToLongTimeString() + " - Trying to login");

            if (!HttpCommunication.Init(out ProgramData.SecureRandom))
            {
                if (CMode.Equals(ConnectionMode.Unknown))
                {
                    CMode = ConnectionMode.Offline;
                    radio_register.Enabled  = radio_selection.Enabled = true;
                    radio_selection.Checked = true;
                }
                else if (CMode.Equals(ConnectionMode.Offline))
                {
                    slb_LoginAs.Text = "嘗試連接到伺服器(離線模式)";
                }
            }
            else
            {
                slb_LoginAs.Text = "伺服器連線成功,嘗試登入使用者";
                CMode            = ConnectionMode.Online;
            }

            if (CMode.Equals(ConnectionMode.Online))
            {
                ProgramData.EncryptPw =
                    Crypto.GetEncrypt(ProgramData.LoginPw, ProgramData.LoginId, ProgramData.SecureRandom);
                if (!HttpCommunication.Login(ProgramData.LoginId, ProgramData.EncryptPw, out string msg))
                {
                    AddLog(msg);
                    ProgramData.LoginSuccess = false;
                    slb_LoginAs.Text         = "登入失敗";

                    loginToolStripMenuItem.Visible       = true;
                    cancelLoginToolStripMenuItem.Visible = false;
                }
                else
                {
                    AddLog(msg);
                    slb_LoginAs.Text         = "登入為 " + ProgramData.LoginId;
                    ProgramData.LoginSuccess = true;

                    loginToolStripMenuItem.Visible       = false;
                    cancelLoginToolStripMenuItem.Visible = false;

                    logoutToolStripMenuItem.Visible       = true;
                    myCourseToolStripMenuItem.Visible     = true;
                    searchCourseToolStripMenuItem.Visible = true;

                    if (!_timerLoopSelect.Enabled)
                    {
                        radio_register.Enabled = radio_selection.Enabled = true;
                        radio_register.Checked = true;
                    }
                }

                _timerTryToLogin.Stop();
            }
        }