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;