2

我正在使用 ZedGraph 来显示日本蜡烛。我设置了GraphPane.isShowPointValue=true,但是当我将鼠标移到蜡烛上时,工具提示是令人耳目一新的。

我发现当显示工具提示时,它总是占用超过 50% 的 CPU 时间。

我该如何解决这个问题?

4

3 回答 3

3

此时有一个更新版本的 ZedGraph 可以解决这个问题。目前 v5.1.7 https://www.nuget.org/packages/ZedGraph/

于 2017-10-25T13:40:57.313 回答
2

当用户开始迁移到 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              

                  ...
于 2014-02-13T09:20:08.900 回答
1

看看这个,这个链接中描述的补丁可能会解决这个问题:

http://sourceforge.net/tracker/?func=detail&aid=3061209&group_id=114675&atid=669144

于 2012-04-17T13:48:26.530 回答