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

来源:https://www.cnblogs.com/badaoliumangqizhi/archive/2019/11/19/11888899.html
-Advertisement-
Play Games

場景 Winform中設置ZedGraph滑鼠雙擊獲取距離最近曲線上的點的坐標值: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102466406 現在要實現滑鼠懸浮時顯示距離最近曲線上的點的橫縱坐標和X軸和Y軸的標題。 註: ...


場景

Winform中設置ZedGraph滑鼠雙擊獲取距離最近曲線上的點的坐標值:

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

現在要實現滑鼠懸浮時顯示距離最近曲線上的點的橫縱坐標和X軸和Y軸的標題。

 

 

註:

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

實現

在包含ZedGraph控制項的窗體的load方法中執行初始化zedGraph的方法,在初始化的方法中對滑鼠懸浮事件重新綁定。

zgc.CursorValueEvent -= zgc_CursorValueEvent;       //顯示焦點值事件
zgc.CursorValueEvent += zgc_CursorValueEvent;       //顯示焦點值事件

 

然後在顯示焦點值事件中

private static string zgc_CursorValueEvent(ZedGraphControl sender, GraphPane pane, Point mousePt)
        {
            //獲取ZedGraphControl對象
            ZedGraphControl zgc = sender as ZedGraphControl;
            if (zgc != null)
            {
                //聲明曲線對象
                CurveItem nearstCurve;
                int i;
                Double y = 0.0;
                string z = String.Empty;
                string xTitle = String.Empty;
                string yTtile = String.Empty;
                try
                {
                    //獲取距離最近的曲線
                    zgc.GraphPane.FindNearestPoint(mousePt, out nearstCurve, out i);
                    if (nearstCurve != null && nearstCurve.Points.Count > i && nearstCurve.Points[i] != null)
                    {
                        //獲取舉例最近的點的Tag,在生成曲線時使用Tag存儲的X軸的信息
                        z = nearstCurve.Points[i].Tag.ToString();
                        //獲取當前pane面板的XAxis的標題的文本內容
                        xTitle = zgc.GraphPane.XAxis.Title.Text;
                        //獲取當前pane面板的YAxis的標題的文本內容,通過nearstCurve.YAxisIndex獲取當前舉例最近的曲線所對應的Y軸的Index
                        yTtile = zgc.GraphPane.YAxisList[nearstCurve.YAxisIndex].Title.Text;
                        y = nearstCurve.Points[i].Y;
                    }
                }
                catch(Exception ex)
                {

                }
                return "X-" + xTitle + ": " + z + "  Y-" + yTtile +": "+ y.ToString();
            }
            else
            {
                return String.Empty;
            }
        } 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 相信看了我上一篇文章的小伙伴們都知道console這個類的最基本的2個方法了吧,下去練習過的小伙伴應該能知道4個方法。 那麼下麵我們就來介紹一下上期沒有介紹完的另外2個方法Console.WriteLine()和Console.ReadLine()這兩個方法和上一節我們學的Console.Write ...
  • 1、前言 既然是.net下微信開發,自然少不了Senparc,可以說這個框架的存在, 至少節省了微信相關工作量的80%。事實上,項目開始前,還糾結了下是Java還是core,之所以最終選擇core,除了情懷外,更重要的便是這個微信開發框架的存在。本項目的整合方式,極大程度上參考了Senparc官方的 ...
  • using System; namespace test { class Program { static void Main(string[] args) { Cat cat = new Cat();//不含參數的構造方法 Console.WriteLine("姓名是{0},年齡是{1}",cat ...
  • Newtonsoft是我們開發過程中經常用到的一個第三方類庫,主要用於對象的序列化和反序列化。 命名方式 預設情況下序列化後的json字元串會以類名、屬性名作為鍵來命名。問題在於C#的命名規範中類名、屬性名都是以PascalCase方式來命名的,而在前端中一般都是以CamelCase方式來命名的,所 ...
  • 場景 指定一個路徑和尾碼名,查找這個路徑下所有以此尾碼名結尾的文件。 註: 博客主頁: https://blog.csdn.net/badao_liumang_qizhi 關註公眾號 霸道的程式猿 獲取編程相關電子書、教程推送與免費下載。 實現 新建工具類FileHelper,工具類中新建方法Get ...
  • PDF是當今最流行的文檔格式之一,各種應用程式將其用作最終輸出。由於支持多種數據類型和可移植性,因此它是創建和共用內容的首選格式。作為對開發文檔管理應用程式感興趣的.NET應用程式開發人員,可能希望嵌入處理功能,以讀取PDF文檔並將其轉換為其他文件格式,例如HTML。 Aspose.PDF for ...
  • 參考 Abp vNext框架 應用程式開發教程 創建項目和書籍列表頁面 http://www.vnfan.com/helinbin/d/3579c6e90e1d23ab.html 官方源碼 https://github.com/abpframework/abp/tree/dev 開發環境 vs201 ...
  • 很高興與大家分享Java平臺的Aspose.Words最新版v19.11實現了另一個裡程碑,該版本在基於Unix的操作系統上支持Harfbuzz Shaper插件,並使開發人員能夠使用Web擴展,自定義水平格式規則形狀等。接下來,我們一起來聊聊新版本的新功能。 Aspose.Words for Ja ...
一周排行
    -Advertisement-
    Play Games
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...