* UIForm: 增加一个在窗体显示后延时执行的事件
* UIPage: 增加一个在窗体显示后延时执行的事件
This commit is contained in:
parent
e37f8a27bd
commit
9be05923be
@ -48,6 +48,7 @@
|
|||||||
* 2023-05-12: V3.3.6 重构DrawString函数
|
* 2023-05-12: V3.3.6 重构DrawString函数
|
||||||
* 2023-07-24: V3.4.1 修复页面切换时,第一个UIPage未执行Final事件的问题
|
* 2023-07-24: V3.4.1 修复页面切换时,第一个UIPage未执行Final事件的问题
|
||||||
* 2023-07-27: V3.4.1 默认提示弹窗TopMost为true
|
* 2023-07-27: V3.4.1 默认提示弹窗TopMost为true
|
||||||
|
* 2023-10-09: V3.5.0 增加一个在窗体显示后延时执行的事件
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
@ -1399,7 +1400,7 @@ namespace Sunny.UI
|
|||||||
SetZoomScale();
|
SetZoomScale();
|
||||||
CalcSystemBoxPos();
|
CalcSystemBoxPos();
|
||||||
|
|
||||||
if (isShow)
|
if (IsShown)
|
||||||
{
|
{
|
||||||
SetRadius();
|
SetRadius();
|
||||||
}
|
}
|
||||||
@ -1419,7 +1420,9 @@ namespace Sunny.UI
|
|||||||
|
|
||||||
public event EventHandler RectColorChanged;
|
public event EventHandler RectColorChanged;
|
||||||
|
|
||||||
private bool isShow;
|
private bool IsShown;
|
||||||
|
private System.Windows.Forms.Timer AfterShownTimer;
|
||||||
|
public event EventHandler AfterShown;
|
||||||
|
|
||||||
protected override void OnShown(EventArgs e)
|
protected override void OnShown(EventArgs e)
|
||||||
{
|
{
|
||||||
@ -1428,9 +1431,27 @@ namespace Sunny.UI
|
|||||||
|
|
||||||
CalcSystemBoxPos();
|
CalcSystemBoxPos();
|
||||||
SetRadius();
|
SetRadius();
|
||||||
isShow = true;
|
IsShown = true;
|
||||||
SetDPIScale();
|
SetDPIScale();
|
||||||
SetZoomScaleRect();
|
SetZoomScaleRect();
|
||||||
|
|
||||||
|
if (AfterShown != null)
|
||||||
|
{
|
||||||
|
AfterShownTimer = new System.Windows.Forms.Timer();
|
||||||
|
AfterShownTimer.Tick += AfterShownTimer_Tick;
|
||||||
|
AfterShownTimer.Start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AfterShownTimer_Tick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AfterShownTimer.Stop();
|
||||||
|
AfterShownTimer.Tick -= AfterShownTimer_Tick;
|
||||||
|
AfterShownTimer?.Dispose();
|
||||||
|
AfterShownTimer = null;
|
||||||
|
|
||||||
|
AfterShown?.Invoke(this, EventArgs.Empty);
|
||||||
|
AfterShown = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public event OnZoomScaleRectChanged ZoomScaleRectChanged;
|
public event OnZoomScaleRectChanged ZoomScaleRectChanged;
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
* 2023-03-15: V3.3.3 重新梳理页面加载顺序
|
* 2023-03-15: V3.3.3 重新梳理页面加载顺序
|
||||||
* 2023-05-12: V3.3.6 重构DrawString函数
|
* 2023-05-12: V3.3.6 重构DrawString函数
|
||||||
* 2023-07-27: V3.4.1 默认提示弹窗TopMost为true
|
* 2023-07-27: V3.4.1 默认提示弹窗TopMost为true
|
||||||
|
* 2023-10-09: V3.5.0 增加一个在窗体显示后延时执行的事件
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
@ -490,12 +491,32 @@ namespace Sunny.UI
|
|||||||
}
|
}
|
||||||
|
|
||||||
private bool IsShown;
|
private bool IsShown;
|
||||||
|
private System.Windows.Forms.Timer AfterShownTimer;
|
||||||
|
public event EventHandler AfterShown;
|
||||||
|
|
||||||
protected override void OnShown(EventArgs e)
|
protected override void OnShown(EventArgs e)
|
||||||
{
|
{
|
||||||
base.OnShown(e);
|
base.OnShown(e);
|
||||||
if (AutoScaleMode == AutoScaleMode.Font) AutoScaleMode = AutoScaleMode.None;
|
if (AutoScaleMode == AutoScaleMode.Font) AutoScaleMode = AutoScaleMode.None;
|
||||||
IsShown = true;
|
IsShown = true;
|
||||||
|
|
||||||
|
if (AfterShown != null)
|
||||||
|
{
|
||||||
|
AfterShownTimer = new System.Windows.Forms.Timer();
|
||||||
|
AfterShownTimer.Tick += AfterShownTimer_Tick;
|
||||||
|
AfterShownTimer.Start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AfterShownTimer_Tick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
AfterShownTimer.Stop();
|
||||||
|
AfterShownTimer.Tick -= AfterShownTimer_Tick;
|
||||||
|
AfterShownTimer?.Dispose();
|
||||||
|
AfterShownTimer = null;
|
||||||
|
|
||||||
|
AfterShown?.Invoke(this, EventArgs.Empty);
|
||||||
|
AfterShown = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void ReLoad()
|
internal void ReLoad()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user