diff --git a/SunnyUI/Controls/DropItem/UIDropControl.cs b/SunnyUI/Controls/DropItem/UIDropControl.cs index 1821474c..cd8313fb 100644 --- a/SunnyUI/Controls/DropItem/UIDropControl.cs +++ b/SunnyUI/Controls/DropItem/UIDropControl.cs @@ -74,7 +74,7 @@ namespace Sunny.UI protected override void OnContextMenuStripChanged(EventArgs e) { base.OnContextMenuStripChanged(e); - edit.ContextMenuStrip = ContextMenuStrip; + if (edit != null) edit.ContextMenuStrip = ContextMenuStrip; } [Browsable(false)] diff --git a/SunnyUI/Controls/UIFlowLayoutPanel.cs b/SunnyUI/Controls/UIFlowLayoutPanel.cs index bd9eb652..d82895e2 100644 --- a/SunnyUI/Controls/UIFlowLayoutPanel.cs +++ b/SunnyUI/Controls/UIFlowLayoutPanel.cs @@ -64,6 +64,12 @@ namespace Sunny.UI timer.Start(); } + protected override void OnContextMenuStripChanged(EventArgs e) + { + base.OnContextMenuStripChanged(e); + if (Panel != null) Panel.ContextMenuStrip = ContextMenuStrip; + } + /// /// 重载字体变更 /// diff --git a/SunnyUI/Controls/UIImageListBox.cs b/SunnyUI/Controls/UIImageListBox.cs index 1d21ec81..8251b18e 100644 --- a/SunnyUI/Controls/UIImageListBox.cs +++ b/SunnyUI/Controls/UIImageListBox.cs @@ -88,6 +88,12 @@ namespace Sunny.UI public new event MouseEventHandler MouseDoubleClick; + protected override void OnContextMenuStripChanged(EventArgs e) + { + base.OnContextMenuStripChanged(e); + if (listbox != null) listbox.ContextMenuStrip = ContextMenuStrip; + } + private void Listbox_MouseDoubleClick(object sender, MouseEventArgs e) { MouseDoubleClick?.Invoke(this, e); diff --git a/SunnyUI/Controls/UIListBox.cs b/SunnyUI/Controls/UIListBox.cs index b7acd145..7d80295e 100644 --- a/SunnyUI/Controls/UIListBox.cs +++ b/SunnyUI/Controls/UIListBox.cs @@ -343,7 +343,7 @@ namespace Sunny.UI protected override void OnContextMenuStripChanged(EventArgs e) { base.OnContextMenuStripChanged(e); - listbox.ContextMenuStrip = ContextMenuStrip; + if (listbox != null) listbox.ContextMenuStrip = ContextMenuStrip; } private void Listbox_MouseMove(object sender, MouseEventArgs e) diff --git a/SunnyUI/Controls/UIRichTextBox.cs b/SunnyUI/Controls/UIRichTextBox.cs index 9cd22ddf..3677b768 100644 --- a/SunnyUI/Controls/UIRichTextBox.cs +++ b/SunnyUI/Controls/UIRichTextBox.cs @@ -184,7 +184,7 @@ namespace Sunny.UI protected override void OnContextMenuStripChanged(EventArgs e) { base.OnContextMenuStripChanged(e); - edit.ContextMenuStrip = ContextMenuStrip; + if (edit != null) edit.ContextMenuStrip = ContextMenuStrip; } /// diff --git a/SunnyUI/Controls/UITextBox.cs b/SunnyUI/Controls/UITextBox.cs index 72d4d630..e9af467f 100644 --- a/SunnyUI/Controls/UITextBox.cs +++ b/SunnyUI/Controls/UITextBox.cs @@ -39,6 +39,7 @@ * 2022-07-28: V3.2.2 修复了有水印文字时,不响应Click和DoubleClick事件的问题 * 2022-09-05: V3.2.3 修复了无水印文字时,光标有时不显示的问题 * 2022-09-16: V3.2.4 支持自定义右键菜单 + * 2022-09-16: V3.2.4 修改右侧Button可能不显示的问题 ******************************************************************************/ using System; @@ -142,7 +143,7 @@ namespace Sunny.UI protected override void OnContextMenuStripChanged(EventArgs e) { base.OnContextMenuStripChanged(e); - edit.ContextMenuStrip = ContextMenuStrip; + if (edit != null) edit.ContextMenuStrip = ContextMenuStrip; } /// @@ -209,21 +210,15 @@ namespace Sunny.UI [DefaultValue(29), Category("SunnyUI"), Description("按钮宽度")] public int ButtonWidth { get => btn.Width; set { btn.Width = Math.Max(20, value); SizeChange(); } } + private bool showButton = false; [DefaultValue(false), Category("SunnyUI"), Description("显示按钮")] public bool ShowButton { - get => btn.Visible; + get => showButton; set { - if (Multiline) - { - btn.Visible = false; - } - else - { - btn.Visible = value; - } - + showButton = !multiline && value; + if (btn.IsValid()) btn.Visible = showButton; SizeChange(); } } @@ -407,7 +402,7 @@ namespace Sunny.UI } } - private bool multiline; + private bool multiline = false; [DefaultValue(false)] public bool Multiline diff --git a/SunnyUI/Controls/UITreeView.cs b/SunnyUI/Controls/UITreeView.cs index 18f19db7..51cf10ae 100644 --- a/SunnyUI/Controls/UITreeView.cs +++ b/SunnyUI/Controls/UITreeView.cs @@ -86,6 +86,12 @@ namespace Sunny.UI view.AfterLabelEdit += View_AfterLabelEdit; } + protected override void OnContextMenuStripChanged(EventArgs e) + { + base.OnContextMenuStripChanged(e); + if (view != null) view.ContextMenuStrip = ContextMenuStrip; + } + public int DrawLeft(TreeNode node) { if (view == null || node == null) return 0;