Winform中設置ZedGraph鼠標懸浮顯示線上的點的坐標並自定義顯示的內容


場景

Winform中設置ZedGraph鼠標懸浮顯示距離最近曲線上的點的坐標值和X軸與Y軸的標題:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103140781

在上面已經實現鼠標懸浮顯示最近曲線上點的基礎上,還有一種方式是鼠標經過曲線上的點是懸浮顯示。

注:

博客主頁:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

實現

鼠標經過線上的點時顯示坐標

首先設置IsShowPointValues的屬性為true

zgc.IsShowPointValues = true;

其中

ZedGraphControl zgc

為了定制鼠標懸浮顯示的內容,還可以重寫其PointValueEvent事件

zgc.PointValueEvent -= zgc_PointValueEvent;
zgc.PointValueEvent += zgc_PointValueEvent;

在事件的具體方法中

        private static string zgc_PointValueEvent(ZedGraphControl sender, GraphPane pane, CurveItem curve, int iPt)
        {
            //獲取點
            PointPair pt = curve[iPt];
            //獲取ZedGraphControl對象
            ZedGraphControl zgc = sender as ZedGraphControl;
            if (zgc != null)
            {
                
                Double y = 0.0;
                string z = String.Empty;
                string xTitle = String.Empty;
                string yTtile = String.Empty;
                try
                {

                    //點的Tag,在生成曲線時使用Tag存儲的X軸的信息
                    z = pt.Tag.ToString();
                    //獲取當前pane面板的XAxis的標題的文本內容
                    xTitle = zgc.GraphPane.XAxis.Title.Text;
                    //獲取當前pane面板的YAxis的標題的文本內容
                    yTtile = curve.Label.Text;
                    y = pt.Y;

                }
                catch (Exception ex)
                {
                    return "";
                }
                return "X-" + xTitle + ": " + z + "  Y-" + yTtile + ": " + y.ToString();

            }
            else
            {
                return String.Empty;
            }
            
        }

注:

可以通過PointPair pt = curve[iPt];獲取點對象

可以通過ZedGraphControl zgc = sender as ZedGraphControl;獲取ZedGraphControl對象

效果

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM