場景
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對象
效果