我正在尝试制作一个工具提示,其文本会根据您在 PictureBox 上悬停的内容而变化。我的代码是这样的:(简化以避免混淆)
private ToolTip tt;
private void Picture_MouseMove(object sender, MouseEventArgs e)
{
string rollText =
<code to determine what text should display based on mouse coordinates>
tt.SetToolTip(Picture, rollText);
}
这可行,但问题是当您将鼠标悬停在图片上时,它会使 ToolTip 不断闪烁,因此我进行了修改以防止在不需要时重绘它:
private string oldRollText = "";
private ToolTip tt;
private void Picture_MouseMove(object sender, MouseEventArgs e)
{
string rollText =
<code to determine what text should display based on mouse coordinates>
if (rollText != oldRollText)
{
oldRollText = rollText;
tt.SetToolTip(Picture, rollText);
}
}
但是现在它只显示几分之一秒,当你第一次滚动它时它就消失了,直到你滚出并再次滚入时才会再次消失。我尝试将ShowAlways = true
, 所有三个Delay
数字都设置为 0, Active = true
, UseFading = false
, UseAnimation = false
,以防它一遍又一遍地重播动画的第一帧或类似的东西。没有骰子。有什么我想念的想法吗?