* UITextBox: 支持自定义右键菜单

This commit is contained in:
Sunny 2022-09-16 17:38:02 +08:00
parent 41efc21b4e
commit 9a843d35aa
2 changed files with 23 additions and 0 deletions

View File

@ -603,5 +603,21 @@ namespace Sunny.UI
DragCtrlsMouseDown.TryRemove(ctrl.Name, out _); DragCtrlsMouseDown.TryRemove(ctrl.Name, out _);
} }
} }
public static void ClearEvents(object instance)
{
var events = instance.GetType().GetEvents(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static);
foreach (var eventInfo in events)
{
var fieldInfo = instance.GetType().GetField(eventInfo.Name, BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance);
if (fieldInfo.GetValue(instance) is Delegate eventHandler)
{
foreach (var invocatedDelegate in eventHandler.GetInvocationList())
{
eventInfo.GetRemoveMethod(fieldInfo.IsPrivate).Invoke(instance, new object[] { invocatedDelegate });
}
}
}
}
} }
} }

View File

@ -38,6 +38,7 @@
* 2022-07-17: V3.2.1 SelectionChanged事件 * 2022-07-17: V3.2.1 SelectionChanged事件
* 2022-07-28: V3.2.2 Click和DoubleClick事件的问题 * 2022-07-28: V3.2.2 Click和DoubleClick事件的问题
* 2022-09-05: V3.2.3 * 2022-09-05: V3.2.3
* 2022-09-16: V3.2.4
******************************************************************************/ ******************************************************************************/
using System; using System;
@ -138,6 +139,12 @@ namespace Sunny.UI
toolTip.SetToolTip(btn, tipText); toolTip.SetToolTip(btn, tipText);
} }
protected override void OnContextMenuStripChanged(EventArgs e)
{
base.OnContextMenuStripChanged(e);
edit.ContextMenuStrip = ContextMenuStrip;
}
/// <summary> /// <summary>
/// 填充颜色,当值为背景色或透明色或空值则不填充 /// 填充颜色,当值为背景色或透明色或空值则不填充
/// </summary> /// </summary>