我正在使用 ZedGraph 来显示日本蜡烛。我设置了GraphPane.isShowPointValue=true,但是当我将鼠标移到蜡烛上时,工具提示是令人耳目一新的。
我发现当显示工具提示时,它总是占用超过 50% 的 CPU 时间。
我该如何解决这个问题?
此时有一个更新版本的 ZedGraph 可以解决这个问题。目前 v5.1.7 https://www.nuget.org/packages/ZedGraph/
当用户开始迁移到 Win 7 时,我在几年前为 Win XP 开发的应用程序中遇到了同样的问题。
上面提到的路径对我没有帮助,所以我写了快速而肮脏的解决方法:
double prevMouseX = 0; // for storing previos cursor position
double prevMouseY = 0; //
private bool ZedGraphControl1MouseMoveEvent(ZedGraphControl sender, MouseEventArgs e)
{
PointF mousePt = new PointF( e.X, e.Y );
GraphPane pane = sender.MasterPane.FindChartRect( mousePt );
if ( pane != null )
{
double x, y;
pane.ReverseTransform( mousePt, out x, out y );
if ((x == prevMouseX) && (y == prevMouseY))
{
// Do nothing if the mouse position didn't change
return false;
}
else {
prevMouseX = x;
prevMouseY = y;
}
// Our code for toolTip goes here
...
看看这个,这个链接中描述的补丁可能会解决这个问题:
http://sourceforge.net/tracker/?func=detail&aid=3061209&group_id=114675&atid=669144