我在窗体上渲染按钮,其中有一些我设置了enable = false。 但我希望工具提示仍然适用于每个按钮,即使它是不可用的。我怎么能这样做?
请帮忙。
答案 0 :(得分:0)
您可以截取MouseMove事件,然后以编程方式显示工具提示。 toolTip1显然是你的表单工具提示
private bool toolTipShown = false;
private void Control_MouseMove(object sender, MouseEventArgs e)
{
var parent = sender as Control;
if (parent == null)
{
return;
}
var ctrl = parent.GetChildAtPoint(e.Location);
if (ctrl != null)
{
if (ctrl.Visible && toolTip1.Tag == null)
{
if (!toolTipShown)
{
var tipstring = toolTip1.GetToolTip(ctrl);
toolTip1.Show(tipstring.Trim(), ctrl, ctrl.Width / 2, ctrl.Height / 2);
toolTip1.Tag = ctrl;
toolTipShown = true;
}
}
}
else
{
ctrl = toolTip1.Tag as Control;
if (ctrl != null)
{
toolTip1.Hide(ctrl);
toolTip1.Tag = null;
toolTipShown = false;
}
}
}