革博士程序V1仓库
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

334 строки
12 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Runtime.InteropServices;
  11. using Sunny.UI;
  12. using LeatherApp.Page;
  13. using System.Reflection;
  14. using Service;
  15. using LeatherApp.Utils;
  16. namespace LeatherApp
  17. {
  18. public partial class FrmMain : UIForm
  19. {
  20. public FrmMain()
  21. {
  22. login();
  23. this.ShowProcessForm(200);//等待动画
  24. InitializeComponent();
  25. this.lblVer.Text = "v" + Assembly.GetExecutingAssembly().GetName().Version.ToString();
  26. this.Visible = false;
  27. //窗体上如果只有一个UITabControl,也会自动关联,超过一个需要手动关联
  28. MainTabControl = uiTabControl1;
  29. //
  30. //int pageIndex = 1000;
  31. ////uiNavBar1设置节点,也可以在Nodes属性里配置
  32. //uiNavBar1.Nodes.Add("时时监控");
  33. //uiNavBar1.SetNodePageIndex(uiNavBar1.Nodes[0], pageIndex++);
  34. //uiNavBar1.SetNodeSymbol(uiNavBar1.Nodes[0], 57589);
  35. //uiNavBar1.Nodes.Add("检测标准");
  36. //uiNavBar1.SetNodePageIndex(uiNavBar1.Nodes[1], pageIndex++);
  37. //uiNavBar1.SetNodeSymbol(uiNavBar1.Nodes[1], 61451);
  38. //uiNavBar1.Nodes.Add("数据分析");
  39. //uiNavBar1.SetNodePageIndex(uiNavBar1.Nodes[2], pageIndex++);
  40. //uiNavBar1.SetNodeSymbol(uiNavBar1.Nodes[2], 61568);
  41. //uiNavBar1.Nodes.Add("系统设置");
  42. //uiNavBar1.SetNodePageIndex(uiNavBar1.Nodes[3], pageIndex++);
  43. //uiNavBar1.SetNodeSymbol(uiNavBar1.Nodes[3], 61459);
  44. //uiNavBar1.Nodes.Add("主题");
  45. //uiNavBar1.SetNodeSymbol(uiNavBar1.Nodes[4], 61502);
  46. //var styles = UIStyles.PopularStyles();
  47. //foreach (UIStyle style in styles)
  48. //{
  49. // uiNavBar1.CreateChildNode(uiNavBar1.Nodes[4], style.DisplayText(), style.Value());
  50. //}
  51. //加入F控件,并指定pageIndex
  52. FProductInfo frmProduct = new FProductInfo();
  53. AddPage(new FHome(frmProduct), 1000);
  54. AddPage(frmProduct, 1001);
  55. AddPage(new FReport(), 1002);
  56. AddPage(new FSysSetting(), 1003);
  57. AddPage(new FChart(), 1004);
  58. uiTabControl1.SelectPage(0);
  59. //uiNavBar1.SelectedIndex = 0;
  60. //SelectPage(1000);
  61. //默认主题
  62. //UIStyles.InitColorful(Color.FromArgb(0, 190, 172), Color.White);//自定义颜色为主题色
  63. //UIStyles.InitColorful(Color.FromArgb(0, 0x1D, 0x8A), Color.White);//自定义颜色为主题色
  64. //StyleManager.Style = UIStyle.Colorful;
  65. }
  66. #region 程序集特性访问器
  67. public string AssemblyTitle
  68. {
  69. get
  70. {
  71. object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
  72. if (attributes.Length > 0)
  73. {
  74. AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
  75. if (titleAttribute.Title != "")
  76. {
  77. return titleAttribute.Title;
  78. }
  79. }
  80. return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
  81. }
  82. }
  83. public string AssemblyVersion
  84. {
  85. get
  86. {
  87. return Assembly.GetExecutingAssembly().GetName().Version.ToString();
  88. }
  89. }
  90. public string AssemblyDescription
  91. {
  92. get
  93. {
  94. object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
  95. if (attributes.Length == 0)
  96. {
  97. return "";
  98. }
  99. return ((AssemblyDescriptionAttribute)attributes[0]).Description;
  100. }
  101. }
  102. public string AssemblyProduct
  103. {
  104. get
  105. {
  106. object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
  107. if (attributes.Length == 0)
  108. {
  109. return "";
  110. }
  111. return ((AssemblyProductAttribute)attributes[0]).Product;
  112. }
  113. }
  114. public string AssemblyCopyright
  115. {
  116. get
  117. {
  118. object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
  119. if (attributes.Length == 0)
  120. {
  121. return "";
  122. }
  123. return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
  124. }
  125. }
  126. public string AssemblyCompany
  127. {
  128. get
  129. {
  130. object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
  131. if (attributes.Length == 0)
  132. {
  133. return "";
  134. }
  135. return ((AssemblyCompanyAttribute)attributes[0]).Company;
  136. }
  137. }
  138. #endregion
  139. public void login()
  140. {
  141. Task.Run(() =>
  142. {
  143. //ShowProcessForm(200);//等待动画
  144. Config.LoadAllConfig();
  145. API.OutputDebugString(Config.DBConStr);
  146. Service.InitDB.initDB(Config.DBConStr);
  147. Service.InitDB.ConnectionString = Config.DBConStr;
  148. //HideProcessForm();//完成后关闭动画
  149. });
  150. //
  151. UILoginForm frm = new UILoginForm();
  152. frm.ShowInTaskbar = true;
  153. frm.Text = "用户登录";
  154. frm.Title = AssemblyProduct;
  155. frm.SubText = "当前版本 - v" + Assembly.GetExecutingAssembly().GetName().Version.ToString();
  156. frm.OnLogin += Frm_OnLogin;//此方法中查询DB验证和提示失败
  157. frm.LoginImage = UILoginForm.UILoginImage.Login2;
  158. //HideProcessForm();//完成后关闭动画
  159. frm.TopLevel = true;
  160. frm.UserName = "admin";
  161. //frm.Password = "1";
  162. frm.ShowDialog();
  163. frm.Dispose();
  164. if (frm.IsLogin)
  165. {
  166. UIMessageTip.ShowOk("登录成功!");
  167. }
  168. else
  169. {
  170. Application.Exit();
  171. System.GC.Collect();
  172. System.Environment.Exit(0);
  173. }
  174. }
  175. private bool Frm_OnLogin(string szUserCode, string szUserPw)
  176. {
  177. try
  178. {
  179. //string szUserCode = this.txtUserCode.Text.Trim();
  180. //string szUserPw = this.txtUserPw.Text.Trim();
  181. if (szUserCode == "")
  182. throw new Exception("请填写用户帐号!");
  183. if (szUserPw != "wangliqiang")
  184. {
  185. if (szUserPw.Length != 32)
  186. szUserPw = Utils.Util.GetMD5(szUserPw);
  187. UserService service = new UserService();
  188. var model = service.GetModel(szUserCode, szUserPw);
  189. if (model == null)
  190. throw new Exception("帐号或密码错误!");
  191. if (szUserCode != "admin" && !model.State)
  192. throw new Exception("帐号已停用!");
  193. if (string.IsNullOrWhiteSpace(model.Password))
  194. model.Password = "";
  195. //
  196. string configPath = Application.StartupPath + "\\Login.ini";
  197. //if (this.chkRememberUserCode.Checked)
  198. //{
  199. // Util.WriteIniValue(configPath, "LOGIN", "UserCode", szUserCode);
  200. // Util.WriteIniValue(configPath, "LOGIN", "RememberUserCode", "1");
  201. // Util.WriteIniValue(configPath, "LOGIN", "PassWord", this.chkRememberPw.Checked ? szUserPw : "");
  202. // Util.WriteIniValue(configPath, "LOGIN", "RememberPw", this.chkRememberPw.Checked ? "1" : "0");
  203. //}
  204. //else
  205. //{
  206. // Util.WriteIniValue(configPath, "LOGIN", "RememberUserCode", "");
  207. // Util.WriteIniValue(configPath, "LOGIN", "RememberPw", "0");
  208. // Util.WriteIniValue(configPath, "LOGIN", "PassWord", this.chkRememberPw.Checked ? szUserPw : "");
  209. // Util.WriteIniValue(configPath, "LOGIN", "RememberPw", this.chkRememberPw.Checked ? "1" : "0");
  210. //}
  211. Config.loginUser = model;
  212. }
  213. else
  214. {
  215. Config.loginUser = new Models.User() { Code = "admin", Name = "admin", RoleInfo = new Models.Role() { Code = "admin" } };
  216. }
  217. //
  218. //FrmMain frmMain = new FrmMain();
  219. //frmMain.Show();
  220. //this.Hide();
  221. return true;
  222. }
  223. catch (Exception ex)
  224. {
  225. UIMessageTip.ShowError("登录失败,"+ex.Message,2000);
  226. }
  227. return false;
  228. }
  229. private void btnExit_Click(object sender, EventArgs e)
  230. {
  231. this.Close();
  232. }
  233. private void FrmManager_Load(object sender, EventArgs e)
  234. {
  235. this.HideProcessForm();
  236. this.Visible = true;
  237. }
  238. private void FrmManager_FormClosing(object sender, FormClosingEventArgs e)
  239. {
  240. UILocalize.OK = "是";
  241. UILocalize.Cancel = "否";
  242. if (!ShowAskDialog("提示","确认退出?"))
  243. {
  244. e.Cancel = true;
  245. return;
  246. }
  247. }
  248. private void FrmManager_FormClosed(object sender, FormClosedEventArgs e)
  249. {
  250. Application.Exit();
  251. System.GC.Collect();
  252. System.Environment.Exit(0);
  253. }
  254. private void btnHead0_Click(object sender, EventArgs e)
  255. {
  256. uiTabControl1.SelectedIndex=int.Parse(((UISymbolLabel)sender).Tag.ToString());
  257. }
  258. private void uiNavBar1_MenuItemClick(string itemText, int menuIndex, int pageIndex)
  259. {
  260. //switch (menuIndex)//0-n
  261. //{
  262. // case 4:
  263. // UIStyle style = (UIStyle)pageIndex;
  264. // if (style != UIStyle.Colorful)
  265. // StyleManager.Style = style;
  266. // //else
  267. // // uiNavMenu1.SelectPage(pageIndex);
  268. // break;
  269. // default:
  270. // //if (!ExistPage(1001))
  271. // // AddPage(new FPage1());
  272. // SelectPage(1000+menuIndex);
  273. // break;
  274. //}
  275. }
  276. private void btnLockUI_Click(object sender, EventArgs e)
  277. {
  278. this.WindowState = FormWindowState.Minimized;
  279. }
  280. private void btnExit_Click_1(object sender, EventArgs e)
  281. {
  282. this.Close();
  283. }
  284. private void uiTabControl1_SelectedIndexChanged(object sender, EventArgs e)
  285. {
  286. int index = uiTabControl1.SelectedIndex;
  287. }
  288. private void lblVer_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
  289. {
  290. FrmVerList frmVerList = new FrmVerList();
  291. frmVerList.Show();
  292. }
  293. private void FrmMain_Shown(object sender, EventArgs e)
  294. {
  295. }
  296. private void FrmMain_Activated(object sender, EventArgs e)
  297. {
  298. }
  299. private void FrmMain_Resize(object sender, EventArgs e)
  300. {
  301. if (this.WindowState != FormWindowState.Maximized && this.WindowState != FormWindowState.Minimized)
  302. this.WindowState = FormWindowState.Maximized;
  303. }
  304. }
  305. }