在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);
}
它可以工作,但是当我快速移动鼠标时,之前显示的工具提示不会隐藏。 我该怎么办?