CNAS取数仪器端升级
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

131 Zeilen
4.5KB

  1. using CnasSynchronousCommon;
  2. using CnasSynchronusClient;
  3. using CnasSynchrousModel;
  4. using log4net;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.ComponentModel;
  8. using System.Data;
  9. using System.Drawing;
  10. using System.IO;
  11. using System.Text;
  12. using System.Windows.Forms;
  13. using System.Xml.Serialization;
  14. namespace CNAS_BalanceClient
  15. {
  16. public partial class frmLoginServer : Form
  17. {
  18. public static string strLoginName = "";
  19. public static string strLoginPwd = "";
  20. public static string strServerIP = "";
  21. public static string strServerPort = "";
  22. //Point mouseOff; //鼠标移动位置
  23. //bool leftFlag; //标签是否为左键
  24. public frmLoginServer()
  25. {
  26. InitializeComponent();
  27. lblTitle.BackColor = Color.Transparent;
  28. lblUser.BackColor = Color.Transparent;
  29. lblPwd.BackColor = Color.Transparent;
  30. }
  31. private void Btn_Login_Click(object sender, EventArgs e)
  32. {
  33. Config();
  34. }
  35. private void Config()
  36. {
  37. //合法行判断
  38. if (this.txtUserName.Text.Trim() == "" || this.txtPwd.Text.Trim() == "")
  39. {
  40. MessageBox.Show("用户名,密码不能为空。", "提示");
  41. return;
  42. }
  43. //1.读取本地数据库配置信息
  44. DataBaseInfo targetdataBase = new DataBaseInfo(); //cnas目标数据库
  45. try
  46. {
  47. //加载CNAS数据库信息
  48. targetdataBase = FileOperation.GetLocalPlatFormDB();
  49. if (!CnasDataOperationFact.CnasDataOperation().TestConnect(targetdataBase))
  50. {
  51. MessageBox.Show("无法连接数据,请联系管理员。", "提示");
  52. return;
  53. }
  54. }
  55. catch (Exception ex)
  56. {
  57. AppLog.Error(ex.Message.ToString());
  58. }
  59. //2.传输输入信息到数据库中,查阅,并返回所需信息
  60. DataTable dtLogin = CnasDataOperationFact.CnasDataOperation().GetLoginNameByPwd(targetdataBase, this.txtUserName.Text.Trim(), this.txtPwd.Text.Trim());
  61. if (dtLogin != null && dtLogin.Rows.Count == 1)
  62. {
  63. GlobalCommonOperation.strLoginName = dtLogin.Rows[0]["username"].ToString();
  64. GlobalCommonOperation.strUserName = this.txtUserName.Text.Trim();
  65. AppLog.Info($"{this.txtUserName.Text.Trim()}登录成功");
  66. this.DialogResult = DialogResult.OK;
  67. this.Close();
  68. }
  69. else
  70. {
  71. MessageBox.Show("用户名,密码登录失败,请重新输入。", "提示");
  72. AppLog.Error($"{this.txtUserName.Text.Trim()}尝试登录失败");
  73. return;
  74. }
  75. }
  76. private void Btn_Logout_Click(object sender, EventArgs e)
  77. {
  78. this.DialogResult = DialogResult.None;
  79. this.Close();
  80. }
  81. [System.Runtime.InteropServices.DllImport("user32.dll")]
  82. public static extern bool ReleaseCapture();
  83. [System.Runtime.InteropServices.DllImport("user32.dll")]
  84. public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
  85. public const int WM_SYSCOMMAND = 0x0112;
  86. public const int SC_MOVE = 0xF010;
  87. public const int HTCAPTION = 0x0002;
  88. private void frmLoginServer_MouseDown(object sender, MouseEventArgs e)
  89. {
  90. try
  91. {
  92. ReleaseCapture();
  93. SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
  94. }
  95. catch(Exception ex)
  96. {
  97. AppLog.Error(ex.Message.ToString());
  98. }
  99. }
  100. private void frmLoginServer_KeyDown(object sender, KeyEventArgs e)
  101. {
  102. try
  103. {
  104. if (!Btn_Login.Focused && !Btn_Logout.Focused)
  105. {
  106. FormKeyEventClass fke = new FormKeyEventClass();
  107. fke.FormKeyEvent += new FormKeyEventClass.FormKey(Config);
  108. fke.FormKeyEventRun(e);
  109. }
  110. }
  111. catch(Exception ex)
  112. {
  113. AppLog.Error(ex.Message.ToString());
  114. }
  115. }
  116. private void frmLoginServer_Shown(object sender, EventArgs e)
  117. {
  118. txtUserName.Select(txtUserName.Text.Length, 0);
  119. }
  120. }
  121. }