在C#.NET winodws表单中,我处理了不同ListBox项目的手动工具提示文本,如下所示:
private void lstFields_MouseMove(object sender, MouseEventArgs e)
{
ListBox lstBox = (ListBox)sender;
Point listBoxClientAreaPosition = lstBox.PointToClient(System.Windows.Forms.Cursor.Position);
int idx = lstBox.IndexFromPoint(listBoxClientAreaPosition);
if (idx == -1)
{
//toolTip1.SetToolTip(lstBox, null);
toolTip1.Hide(lstBox);
return;
}
Field fld = (Field)lstBox.Items[idx];
string strTooltip = string.Format("Descriptor: {0} , ISO Field Number: {1} , Custom Value : {2}",fld.FieldDescriptor,fld.ISOFieldNumber,fld.CustomValue);
if (toolTip1.GetToolTip(lstBox) == strTooltip)
{
return;
}
toolTip1.SetToolTip(lstBox, strTooltip);
}
它有效,但是当我快速移动鼠标时,先前显示的工具提示不会隐藏。
我该怎么办?
最佳答案
由我查看这篇文章Here
编写另一个Mouse_Leave
,并隐藏所有不想显示的工具提示
关于c# - 先前的工具提示仍可通过鼠标移动,并且不会刷新!,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5803932/