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

335 строки
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.LoadCloudConfig();
  145. Config.LoadAllConfig();
  146. API.OutputDebugString(Config.DBConStr);
  147. Service.InitDB.initDB(Config.DBConStr);
  148. Service.InitDB.ConnectionString = Config.DBConStr;
  149. //HideProcessForm();//完成后关闭动画
  150. });
  151. //
  152. UILoginForm frm = new UILoginForm();
  153. frm.ShowInTaskbar = true;
  154. frm.Text = "用户登录";
  155. frm.Title = AssemblyProduct;
  156. frm.SubText = "当前版本 - v" + Assembly.GetExecutingAssembly().GetName().Version.ToString();
  157. frm.OnLogin += Frm_OnLogin;//此方法中查询DB验证和提示失败
  158. frm.LoginImage = UILoginForm.UILoginImage.Login2;
  159. //HideProcessForm();//完成后关闭动画
  160. frm.TopLevel = true;
  161. frm.UserName = "admin";
  162. //frm.Password = "1";
  163. frm.ShowDialog();
  164. frm.Dispose();
  165. if (frm.IsLogin)
  166. {
  167. UIMessageTip.ShowOk("登录成功!");
  168. }
  169. else
  170. {
  171. Application.Exit();
  172. System.GC.Collect();
  173. System.Environment.Exit(0);
  174. }
  175. }
  176. private bool Frm_OnLogin(string szUserCode, string szUserPw)
  177. {
  178. try
  179. {
  180. //string szUserCode = this.txtUserCode.Text.Trim();
  181. //string szUserPw = this.txtUserPw.Text.Trim();
  182. if (szUserCode == "")
  183. throw new Exception("请填写用户帐号!");
  184. if (szUserPw != "wangliqiang")
  185. {
  186. if (szUserPw.Length != 32)
  187. szUserPw = Utils.Util.GetMD5(szUserPw);
  188. UserService service = new UserService();
  189. var model = service.GetModel(szUserCode, szUserPw);
  190. if (model == null)
  191. throw new Exception("帐号或密码错误!");
  192. if (szUserCode != "admin" && !model.State)
  193. throw new Exception("帐号已停用!");
  194. if (string.IsNullOrWhiteSpace(model.Password))
  195. model.Password = "";
  196. //
  197. string configPath = Application.StartupPath + "\\Login.ini";
  198. //if (this.chkRememberUserCode.Checked)
  199. //{
  200. // Util.WriteIniValue(configPath, "LOGIN", "UserCode", szUserCode);
  201. // Util.WriteIniValue(configPath, "LOGIN", "RememberUserCode", "1");
  202. // Util.WriteIniValue(configPath, "LOGIN", "PassWord", this.chkRememberPw.Checked ? szUserPw : "");
  203. // Util.WriteIniValue(configPath, "LOGIN", "RememberPw", this.chkRememberPw.Checked ? "1" : "0");
  204. //}
  205. //else
  206. //{
  207. // Util.WriteIniValue(configPath, "LOGIN", "RememberUserCode", "");
  208. // Util.WriteIniValue(configPath, "LOGIN", "RememberPw", "0");
  209. // Util.WriteIniValue(configPath, "LOGIN", "PassWord", this.chkRememberPw.Checked ? szUserPw : "");
  210. // Util.WriteIniValue(configPath, "LOGIN", "RememberPw", this.chkRememberPw.Checked ? "1" : "0");
  211. //}
  212. Config.loginUser = model;
  213. }
  214. else
  215. {
  216. Config.loginUser = new Models.User() { Code = "admin", Name = "admin", RoleInfo = new Models.Role() { Code = "admin" } };
  217. }
  218. //
  219. //FrmMain frmMain = new FrmMain();
  220. //frmMain.Show();
  221. //this.Hide();
  222. return true;
  223. }
  224. catch (Exception ex)
  225. {
  226. UIMessageTip.ShowError("登录失败,"+ex.Message,2000);
  227. }
  228. return false;
  229. }
  230. private void btnExit_Click(object sender, EventArgs e)
  231. {
  232. this.Close();
  233. }
  234. private void FrmManager_Load(object sender, EventArgs e)
  235. {
  236. this.HideProcessForm();
  237. this.Visible = true;
  238. }
  239. private void FrmManager_FormClosing(object sender, FormClosingEventArgs e)
  240. {
  241. UILocalize.OK = "是";
  242. UILocalize.Cancel = "否";
  243. if (!ShowAskDialog("提示","确认退出?"))
  244. {
  245. e.Cancel = true;
  246. return;
  247. }
  248. }
  249. private void FrmManager_FormClosed(object sender, FormClosedEventArgs e)
  250. {
  251. Application.Exit();
  252. System.GC.Collect();
  253. System.Environment.Exit(0);
  254. }
  255. private void btnHead0_Click(object sender, EventArgs e)
  256. {
  257. uiTabControl1.SelectedIndex=int.Parse(((UISymbolLabel)sender).Tag.ToString());
  258. }
  259. private void uiNavBar1_MenuItemClick(string itemText, int menuIndex, int pageIndex)
  260. {
  261. //switch (menuIndex)//0-n
  262. //{
  263. // case 4:
  264. // UIStyle style = (UIStyle)pageIndex;
  265. // if (style != UIStyle.Colorful)
  266. // StyleManager.Style = style;
  267. // //else
  268. // // uiNavMenu1.SelectPage(pageIndex);
  269. // break;
  270. // default:
  271. // //if (!ExistPage(1001))
  272. // // AddPage(new FPage1());
  273. // SelectPage(1000+menuIndex);
  274. // break;
  275. //}
  276. }
  277. private void btnLockUI_Click(object sender, EventArgs e)
  278. {
  279. this.WindowState = FormWindowState.Minimized;
  280. }
  281. private void btnExit_Click_1(object sender, EventArgs e)
  282. {
  283. this.Close();
  284. }
  285. private void uiTabControl1_SelectedIndexChanged(object sender, EventArgs e)
  286. {
  287. int index = uiTabControl1.SelectedIndex;
  288. }
  289. private void lblVer_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
  290. {
  291. FrmVerList frmVerList = new FrmVerList();
  292. frmVerList.Show();
  293. }
  294. private void FrmMain_Shown(object sender, EventArgs e)
  295. {
  296. }
  297. private void FrmMain_Activated(object sender, EventArgs e)
  298. {
  299. }
  300. private void FrmMain_Resize(object sender, EventArgs e)
  301. {
  302. if (this.WindowState != FormWindowState.Maximized && this.WindowState != FormWindowState.Minimized)
  303. this.WindowState = FormWindowState.Maximized;
  304. }
  305. }
  306. }