【发布时间】:2014-09-23 12:23:31
【问题描述】:
我的表单中有几个按钮,它们的用途会根据某些事件以编程方式更改(特别是从“添加”到“删除”)。
我想更改 ToolTip 的文本以反映此功能更改,但是当调用 SetToolTip 时,它似乎触发 Popup 并立即显示新的工具提示文本。这种行为是不可取的。
/* Change the button to 'Remove' */
btnAddRemove.BackgroundImage = Properties.Resources.Minus;
toolTip.SetToolTip(btnAddRemove, "Remove");
/* Change the button to 'Add' */
btnAddRemove.BackgroundImage = Properties.Resources.Plus;
toolTip.SetToolTip(btnAddRemove, "Add");
有没有办法覆盖这个默认行为?
编辑:抱歉,我应该说,它似乎触发了 PopUp 事件。当调用 SetToolTip 时,新的工具提示文本会立即闪烁,即使没有经过必要的时间来显示它。
【问题讨论】:
-
你在说什么
necessary time? -
AutomaticDelay、AutoPopDelay、InitialDelay、ReshowDelay的设置延迟 - 在测试期间所有这些设置为10000。 -
可能值得不要更改单个按钮的文本,而是更改 2 个按钮的可见性:
btnAdd和btnRemove。这样您就不必更改文本/图标/工具提示/在按钮单击事件中进行一些丑陋的检查(相反会有 2 个专用事件,一个用于添加,一个用于删除)。使用FlowLayoutPanel/TableLayoutPanel可以轻松地执行按钮布局,并且使用这些是一个简短但在 wpf 方向上迈出的一步。