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}");
            }
        }
相关推荐
晚风予卿云月1 小时前
【C++高并发内存池】 2.ThreadCache设计
开发语言·c++·高并发内存池·tcmalloc
Dovis(誓平步青云)1 小时前
拖动关键帧角色就抽动,动画编辑器怎样补齐中间状态
开发语言·前端·javascript·机器学习·编辑器
行走的陀螺仪2 小时前
Claude Code 从入门到实战(二):Bash工具、Plan模式与后台任务
开发语言·bash
努力努力再努力wz2 小时前
【Lua 入门系列】从执行模型到事件驱动:一文理解 Lua 有栈协程、挂起恢复与协作式调度
开发语言·lua
椒颜皮皮虾྅2 小时前
一套 C# 接口,解锁四类视觉任务:DeploySharp 分类、分割、关键点与旋转框实战
开发语言·分类·c#
2603_965896622 小时前
JavaScript 原型与原型链
开发语言·前端·javascript
朋友圈自动点赞工具2 小时前
Ruby方法查找:对象不存方法
开发语言·前端·ruby·科技资讯
罗迪尼亚的熔岩2 小时前
联合kuka机器人, 海康visonmaster 的手眼9点标定方法
机器人·c#·工业相机·标定
D e re k ZH2 小时前
C++ 模板与泛型编程进阶(No 2)
开发语言·c++
一级新生3 小时前
LLM _ Agent _ Skill _ 专家 的关系与选型笔记
java·开发语言·人工智能·笔记·大模型·智能体·skill