我在窗口窗体上呈现按钮,其中一些我设置为 enable = false。但我希望工具提示仍然适用于每个按钮,即使它无法启用。我怎么能那样做?
请帮忙。
您可以拦截 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;
}
}
}