C#中鼠标点击获取Chart图形上的坐标值

cs 复制代码
/// <summary>
        /// C#中鼠标移动获取Chart图形上的坐标值
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void chart1_GetToolTipText(object sender, System.Windows.Forms.DataVisualization.Charting.ToolTipEventArgs e)
        {
            if (e.HitTestResult.ChartElementType == ChartElementType.DataPoint)
            {
                this.Cursor = Cursors.Cross;
                int i = e.HitTestResult.PointIndex;
                System.Text.StringBuilder dpStr = new System.Text.StringBuilder();
                foreach (var item in chart1.Series)
                {
                    DataPoint dp = item.Points[i];
                    dpStr.Append(item.Name + " X:" + dp.XValue + " Y:" + dp.YValues[0] + "\r\n");
                }
                e.Text = dpStr.ToString();
            }
            else
            {
                this.Cursor = Cursors.Default;
            }
        }

=========================================================================

cs 复制代码
this.chart1.MouseClick += new MouseEventHandler(chart1_MouseClick);
cs 复制代码
/// <summary>
        /// C#中鼠标点击获取Chart图形上的坐标值
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void chart1_MouseClick(object sender, MouseEventArgs e)
        {
            // 获取点击位置的点的坐标
            HitTestResult result = chart1.HitTest(e.X, e.Y);
            if (result.ChartElementType == ChartElementType.DataPoint)
            {
                int index = result.PointIndex;
                DataPoint point = chart1.Series[0].Points[index];
                double xValue = point.XValue;
                double yValue = point.YValues[0];

                MessageBox.Show($"Clicked at: X = {xValue}, Y = {yValue}");
            }
        }
相关推荐
阿蒙Amon1 分钟前
C#数字金额转中文大写金额:代码解析
java·mysql·c#
一只自律的鸡9 分钟前
STL之vector
开发语言·c++·算法
此刻我在家里喂猪呢11 分钟前
qt之开发大恒usb3.0相机三
开发语言·qt
哈哈哈哈哈哈哈哈哈...........1 小时前
【Java】ForkJoin 框架
java·开发语言
zh_xuan1 小时前
c++ typeid运算符
开发语言·c++
✎ ﹏梦醒͜ღ҉繁华落℘2 小时前
WPF学习
c语言·开发语言·笔记
程序猿多布2 小时前
C# 密封类和密封方法
c#
逾非时3 小时前
python:selenium爬取网站信息
开发语言·python·selenium
若水uy3 小时前
JAVA中的枚举
java·开发语言
nuclear20113 小时前
使用C# 快速删除Excel表格中的重复行数据-详解
c#·excel·删除excel重复行·删除excel重复数据·excel重复行查找并删除