我有一个禁用的复选框,应该在悬停时显示工具提示,但没有任何反应。单击复选框后,工具提示会立即显示,然后快速闪烁。可能是什么导致了这个? 工具提示也应该针对所涉及的每个控件进行显示,但是针对所有控件明确设置工具提示,显示某些而非其他控件。可能导致这种行为的原因是什么?
这是事件处理程序:
this.MouseHover += new EventHandler(OrderSummaryDetails_MouseHover);
void EventHandler_MouseHover(object sender, EventArgs e)
{
if (someCondition)
{
this.mFormTips.Show("Please open order form to manually modify this order", this);
}
}
答案 0 :(得分:1)
我不能肯定,但如果使用WinForms,并且您禁用了复选框(如未启用),则复选框将不会收到事件。这将导致工具提示无法正确显示。
在使用图像按钮之前我遇到了完全相同的问题,而我最终要做的是创建图像的灰度级并在我希望按钮被“禁用”时将其换出。我不得不将工具提示添加到按钮和图像(两个单独的UI元素)并交换UI元素。
答案 1 :(得分:0)
我添加了一个MouseMove事件并将其应用于所有控件。
void OrderSummaryDetails_MouseMove(object sender, MouseEventArgs e)
{
Control control = GetChildAtPoint(e.Location);
if (control != null)
{
string toolTipString = mFormTips.GetToolTip(control);
this.mFormTips.ShowAlways = true;
// trigger the tooltip with no delay and some basic positioning just to give you an idea
mFormTips.Show(toolTipString, control, control.Width / 2, control.Height / 2);
}
}