版博士V2.0程序
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

InitFrm.cs 3.4 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. using MaiMuAOI.SysCtrl;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. namespace MaiMuAOI.SysUI.Load
  13. {
  14. public partial class InitFrm : Form
  15. {
  16. public InitFrm()
  17. {
  18. InitializeComponent();
  19. this.uiTitel1.FatherForm = this;
  20. this.uiTitel1.ShowContrlBox(false, false, true, false);
  21. UIStyle.SetUIStyle(this);
  22. SysMgr.Instance.InitRuning += init_Process;
  23. }
  24. #region 事件回调
  25. private void init_Process(object sender, InitEventArgs e)
  26. {
  27. ShowInitMessage(e.Message);
  28. if (e.IsInitialized)
  29. {
  30. Thread.Sleep(1000);
  31. CloseWnd();
  32. }
  33. }
  34. private delegate void dSkip_init();
  35. private void Skip_init()
  36. {
  37. if (this.InvokeRequired)
  38. {
  39. dSkip_init d = new dSkip_init(Skip_init);
  40. this.Invoke(d);
  41. }
  42. else
  43. {
  44. this.Cursor = Cursors.Default;
  45. skinButton1.Visible = true;
  46. }
  47. }
  48. private delegate void dCloseWnd();
  49. private void CloseWnd()
  50. {
  51. if (this.InvokeRequired)
  52. {
  53. dCloseWnd d = new dCloseWnd(CloseWnd);
  54. this.Invoke(d);
  55. }
  56. else
  57. {
  58. this.Cursor = Cursors.Default;
  59. SysMgr.Instance.InitRuning -= init_Process;
  60. this.DialogResult = DialogResult.OK;
  61. this.Close();
  62. }
  63. }
  64. private delegate void dShowInitMessage(string message);
  65. private void ShowInitMessage(string message)
  66. {
  67. if (this.InvokeRequired)
  68. {
  69. dShowInitMessage d = new dShowInitMessage(ShowInitMessage);
  70. this.Invoke(d, message);
  71. }
  72. else
  73. {
  74. if (!string.IsNullOrEmpty(StsTextBox.Text))
  75. {
  76. StsTextBox.Text = StsTextBox.Text + "\r\n" + message;
  77. }
  78. else
  79. { StsTextBox.Text = message; }
  80. StsTextBox.SelectionStart = StsTextBox.Text.Length;
  81. StsTextBox.ScrollToCaret();
  82. }
  83. }
  84. #endregion
  85. private void InitFrm_Load(object sender, EventArgs e)
  86. {
  87. StsTextBox.Text = "";
  88. this.Cursor = Cursors.WaitCursor;
  89. backgroundWorker1.RunWorkerAsync();
  90. skinButton1.Visible = false;
  91. }
  92. private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
  93. {
  94. Thread.Sleep(500);
  95. try
  96. {
  97. if (!SysMgr.Instance.Initial())
  98. Skip_init();
  99. }
  100. catch (Exception ex)
  101. {
  102. //CloseWnd();
  103. }
  104. }
  105. private void skinButton1_Click(object sender, EventArgs e)
  106. {
  107. SysMgr.Instance.InitRuning -= init_Process;
  108. this.DialogResult = DialogResult.OK;
  109. this.Close();
  110. }
  111. }
  112. }