SVN r1220

SVN-Revision: r1220
This commit is contained in:
cyf
2026-06-22 02:29:22 +00:00
parent 1e2c081b6a
commit c3e1e7d2d2
9 changed files with 177 additions and 71 deletions
+31 -8
View File
@@ -220,8 +220,10 @@ namespace Lskj.Main
/// <param name="e"></param>
private void FrmMain_LocationChanged(object sender, EventArgs e)
{
ERPInfo.Instance.WatermarkForm.Size = this.ClientSize; // 设置水印窗体的大小与主窗体客户端区域相同
ERPInfo.Instance.WatermarkForm.Location = this.PointToScreen(new Point(0, 0)); // 将水印窗体定位到主窗体的位置
if (!IsWatermarkAvailable()) return;
watermarkForm.Size = this.ClientSize; // 设置水印窗体的大小与主窗体客户端区域相同
watermarkForm.Location = this.PointToScreen(new Point(0, 0)); // 将水印窗体定位到主窗体的位置
}
/// <summary>
@@ -233,6 +235,8 @@ namespace Lskj.Main
{
if (SystemInfo.Instance.DisplayWatermark)
{
if (!IsWatermarkAvailable()) return;
if (ERPInfo.Instance.MainControl.WindowState == FormWindowState.Minimized) watermarkForm.Visible = false;
if (ERPInfo.Instance.MainControl.WindowState != FormWindowState.Minimized)
@@ -244,6 +248,28 @@ namespace Lskj.Main
}
}
private bool IsWatermarkAvailable()
{
return watermarkForm != null && !watermarkForm.IsDisposed && !watermarkForm.Disposing;
}
private void CloseWatermarkForm()
{
this.SizeChanged -= FrmMain_SizeChanged;
if (IsWatermarkAvailable())
{
watermarkForm.SafeClose();
if (!watermarkForm.IsDisposed)
{
watermarkForm.Dispose();
}
}
watermarkForm = null;
ERPInfo.Instance.WatermarkForm = null;
}
/// <summary>
/// U盾状态改变
/// </summary>
@@ -427,11 +453,7 @@ namespace Lskj.Main
/// <param name="e"></param>
private void OnCloseButtonCallBack(object sender, EventArgs e)
{
if (ERPInfo.Instance.WatermarkForm != null)
{
ERPInfo.Instance.WatermarkForm.Close();
ERPInfo.Instance.WatermarkForm.Dispose();
}
CloseWatermarkForm();
this.Close();
}
/// <summary>
@@ -511,6 +533,7 @@ namespace Lskj.Main
{
try
{
CloseWatermarkForm();
Manager.ModuleForms.Clear();
}
catch (Exception ex)
@@ -732,4 +755,4 @@ namespace Lskj.Main
Screen screen = Screen.FromPoint(System.Windows.Forms.Control.MousePosition);
Rectangle workingArea = screen.WorkingArea;