void btnLogin_Click(object sender, EventArgs e) { if (!dxvalidation.Validate() || string.IsNullOrWhiteSpace(txtUid.Text)) { DXMessageBox.Show("用户名和密码不能为空!", MessageIcon.Info, MessageButton.OK); } else { string uidmd5 = DESEncrypt.Encrypt(txtUid.Text); string pwdmd5 = DESEncrypt.Encrypt(txtPwd.Text); uidmd5 = StringPlus.CompressString(uidmd5); pwdmd5 = StringPlus.CompressString(pwdmd5); try { this.loginPress.Show(); btnLogin.Enabled = btnCancel.Enabled = chkAutoLogin.Enabled = false; this.CrossThreadCallsSync(x => { this.loginPress.Hide(); btnLogin.Enabled = btnCancel.Enabled = chkAutoLogin.Enabled = true; string rtCode = x as string; switch (rtCode) { case "err_uid": DXMessageBox.ShowWarning("用户名不存在!"); txtUid.Focus(); break; case "err_pwd": DXMessageBox.ShowWarning("密码错误!"); txtPwd.Focus(); break; default: if (!string.IsNullOrWhiteSpace(rtCode) && rtCode.Length > 1) { #region 错误信息处理 if (rtCode.StartsWith("err_")) { DXMessageBox.ShowError(rtCode.Substring(4)); return; } #endregion #region 本地记住用户名和密码 if (chkAutoLogin.Checked) { ConfigHelper.UpdateConfig("u", uidmd5, true); ConfigHelper.UpdateConfig("p", pwdmd5, true); } #endregion DataTable dt = TmoShare.getDataTableFromXML(StringPlus.DecompressString(rtCode)); DataRow dr = dt.Rows[0]; //用户编号 用户姓名 Userinfo user = new Userinfo() { user_id = dr.GetDataRowStringValue("user_id"), name = dr.GetDataRowStringValue("name") }; TmoComm.login_userInfo = user; DXMessageBox.Show(string.Format("用户【{0}】登录成功!", TmoComm.login_userInfo.name), true); if (this.ParentForm != null) { this.ParentForm.DialogResult = DialogResult.OK; this.ParentForm.Close(); } } else { TmoShare.WriteLog("登录失败", "未知错误:返回值->" + rtCode); DXMessageBox.ShowError("未知错误!"); } break; } }, () => { try { WebServiceDLL.MonitorService service = new WebServiceDLL.MonitorService(); return(service.UserLogin(uidmd5, pwdmd5)); } catch { return("err_与服务器通信失败!请检查网络连接"); } }); } catch (Exception ex) { TmoShare.WriteLog("登录失败", ex); DXMessageBox.ShowError("与服务器通信失败!请检查网络连接"); } } }