我有一个 ShowAlways 属性设置为 true 的工具提示。
在我希望显示工具提示的控件上(在本例中为 LinkLabels),我看到有一个“ToolTip on <name of my Tooltip
>”属性,它需要一个字符串。
但是,我的工具提示在 5 个 LinkLabel 之间共享,并且应该根据悬停在哪个链接标签上而有所不同。
我确实有一个有效的共享点击事件:
private void linkLabelPlatypus1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
int Platypus = 1;
LinkLabel ll = null;
if (sender is LinkLabel)
{
ll = sender as LinkLabel;
}
if (null != ll)
{
if (ll.Name == linkLabelPlatypus2.Name)
{
Platypus = 2;
} else if (ll.Name == linkLabelPlatypus3.Name)
{
Platypus = 3;
} else if (ll.Name == linkLabelPlatypus4.Name)
{
Platypus = 4;
} else if (ll.Name == linkLabelPlatypus5.Name)
{
Platypus = 5;
}
toolTipPlatypi.SetToolTip(ll, DuckbillData.GetPlatypusDataForToolTip(Platypus));
}
}
...但我希望工具提示也能在悬停时显示,而不需要用户单击标签。
最佳答案
你只需要设置一次工具提示:
public Form1()
{
InitializeComponent();
toolTip1.SetToolTip(linkLabel1, "foo");
toolTip1.SetToolTip(linkLabel2, "bar");
}
完成。
在 MouseHover
或 MouseEnter
处理程序中执行此操作将在每次事件触发时反复调用此函数。它会起作用,但不必要地复杂。
您只需要一个表单上的工具提示即可为任意数量的组件提供提示,并且它可以同时和连续地提供所有提示(即:您不必每次都更改或设置它)。每个组件只能有一个提示,但您可以在整个程序中随时更改它。 ShowAlways
不必为真 - 它用于使工具提示显示在不活动的表单上(即:将鼠标悬停在具有焦点的窗口后面的非事件窗口上,等等)。
关于c# - 为什么我的工具提示不显示它的提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12644050/