fix(winforms): release module grid resources

This commit is contained in:
2026-08-26 01:10:27 +08:00
parent 6cde5df2f2
commit 1e06682a12
8 changed files with 491 additions and 85 deletions
@@ -209,6 +209,26 @@ namespace Lskj.Control.Model
this.OnRightCallback = handler;
}
internal virtual void ReleaseResourcesForDispose()
{
OnRightCallback = null;
OnBeforeHandleParamsCallback = null;
if (MenuStrip != null)
{
MenuStrip.Opening -= MenuStripOpening;
MenuStrip.Dispose();
MenuStrip = null;
}
RightMenuItems.Clear();
RightMenuBtnEdits.Clear();
RightMenuMrpBtnEdits.Clear();
BaseGridView = null;
ControlObj = null;
Model = null;
MenuTable = null;
AccountItem = null;
}
/// <summary>
/// <para>说明:右键菜单执行前调用</para>
/// <para>创建人:龚宇超</para>
@@ -38,6 +38,19 @@ namespace Lskj.Control.Model
}
}
internal override void ReleaseResourcesForDispose()
{
if (GridControlObj != null && GridControlObj.gridControl != null &&
ReferenceEquals(GridControlObj.gridControl.ContextMenuStrip, MenuStrip))
{
GridControlObj.gridControl.ContextMenuStrip = null;
}
GridControlObj = null;
_gridView = null;
_control = null;
base.ReleaseResourcesForDispose();
}
protected override void MenuStripOpening(object sender, System.ComponentModel.CancelEventArgs e)
{
int[] mSelectRows = this._gridView.GetSelectedRows() ?? new int[0];