diff --git a/Bin/SunnyUI.Demo.exe b/Bin/SunnyUI.Demo.exe index 197b9a0d..ac933447 100644 Binary files a/Bin/SunnyUI.Demo.exe and b/Bin/SunnyUI.Demo.exe differ diff --git a/Bin/SunnyUI.dll b/Bin/SunnyUI.dll index 9c6b0b8d..4e53adac 100644 Binary files a/Bin/SunnyUI.dll and b/Bin/SunnyUI.dll differ diff --git a/SunnyUI.Demo/FMain.cs b/SunnyUI.Demo/FMain.cs index 9eff2621..8595bcba 100644 --- a/SunnyUI.Demo/FMain.cs +++ b/SunnyUI.Demo/FMain.cs @@ -11,7 +11,6 @@ namespace Sunny.UI.Demo public FMain() { InitializeComponent(); - int pageIndex = 1000; Header.SetNodePageIndex(Header.Nodes[0], pageIndex); Header.SetNodeSymbol(Header.Nodes[0], 61451); diff --git a/SunnyUI/Controls/UIWaitingBar.cs b/SunnyUI/Controls/UIWaitingBar.cs index b9230d45..55c8ea29 100644 --- a/SunnyUI/Controls/UIWaitingBar.cs +++ b/SunnyUI/Controls/UIWaitingBar.cs @@ -29,7 +29,7 @@ namespace Sunny.UI [ToolboxItem(true)] public sealed class UIWaitingBar : UIControl { - private System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer(); + private readonly Timer timer = new Timer(); public UIWaitingBar() { @@ -66,6 +66,8 @@ namespace Sunny.UI set => blockCount = Math.Max(10, value); } + public event EventHandler Tick; + private void Timer_Tick(object sender, EventArgs e) { //移动距离要减去滑块本身的宽度 @@ -86,6 +88,8 @@ namespace Sunny.UI dz = dMoveDistance * (1 + Math.Sin((d - 90) * Math.PI / 180)) / 2; Invalidate(); + + Tick?.Invoke(sender, e); } [DefaultValue(200)] diff --git a/SunnyUI/Forms/UIFormService.cs b/SunnyUI/Forms/UIFormService.cs index 22346a99..c0eb46b3 100644 --- a/SunnyUI/Forms/UIFormService.cs +++ b/SunnyUI/Forms/UIFormService.cs @@ -63,14 +63,7 @@ namespace Sunny.UI private void CloseForm() { - try - { - thread?.Abort(); - } - catch (Exception) - { - // ignored - } + if (form != null) form.NeedClose = true; } private void SetFormDescription(string desc) diff --git a/SunnyUI/Forms/UIWaitForm.cs b/SunnyUI/Forms/UIWaitForm.cs index 3fb5b6e5..ed6de86b 100644 --- a/SunnyUI/Forms/UIWaitForm.cs +++ b/SunnyUI/Forms/UIWaitForm.cs @@ -1,4 +1,6 @@ -namespace Sunny.UI +using System.ComponentModel; + +namespace Sunny.UI { public partial class UIWaitForm : UIForm { @@ -30,5 +32,13 @@ labelDescription.Invalidate(); } } + + [DefaultValue(false), Browsable(false)] + public bool NeedClose { get; set; } + + private void Bar_Tick(object sender, System.EventArgs e) + { + if (NeedClose) Close(); + } } } diff --git a/SunnyUI/Forms/UIWaitForm.designer.cs b/SunnyUI/Forms/UIWaitForm.designer.cs index 9f67db09..c39dd712 100644 --- a/SunnyUI/Forms/UIWaitForm.designer.cs +++ b/SunnyUI/Forms/UIWaitForm.designer.cs @@ -53,6 +53,7 @@ this.Bar.Size = new System.Drawing.Size(409, 29); this.Bar.TabIndex = 6; this.Bar.Text = "uiWaitingBar1"; + this.Bar.Tick += new System.EventHandler(this.Bar_Tick); // // UIWaitForm //