前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >chart控件获取鼠标点击坐标,十字坐标跟随——c#

chart控件获取鼠标点击坐标,十字坐标跟随——c#

作者头像
vv彭
发布2021-01-18 10:13:12
3.1K0
发布2021-01-18 10:13:12
举报
文章被收录于专栏:c#学习笔记c#学习笔记

方法一:鼠标点击波形

鼠标点击波形,显示点击位置的x,y值

private void chart1_MouseClick(object sender, MouseEventArgs e) //chart1是你建的chart控件,实际名字根据你自己代码里的命名 { HitTestResult hit = chart1.HitTest(e.X, e.Y); if (hit.Series != null) { var xValue = hit.Series.Points[hit.PointIndex].XValue; var yValue = hit.Series.Points[hit.PointIndex].YValues.First(); textBox1.Text = string.Format("{0:F0},{1:F0}", "x:"+xValue, "y:"+yValue);//textbox1也是自己建的一个专门用来显示的内容框,也可以用messagebox直接弹出内容 } else { textBox1.Text="未点击到波形曲线"; } }

调用方法:

chart1.MouseClick += new MouseEventHandler(chart1_MouseClick);

方法二:鼠标移动到相应点位自动显示相关数值

private void chart1_MouseMove(object sender, MouseEventArgs e) { var area = chart1.ChartAreas[0]; double xValue = area.AxisX.PixelPositionToValue(e.X); double yValue = area.AxisY.PixelPositionToValue(e.Y); textBox1.Text = string.Format("{0:F0},{1:F0}", xValue, yValue); }

调用方法:

chart1.MouseMove += new MouseEventHandler(chart1_MouseMove);

绘制十字坐标:

//清空十字架 chartVoltage.Series[1].Points.Clear(); chartVoltage.Series[2].Points.Clear(); //获取当前鼠标坐标 double cursorX = chartVoltage.ChartAreas[0].AxisX.PixelPositionToValue(e.X); double cursorY = chartVoltage.ChartAreas[0].AxisY.PixelPositionToValue(e.Y); //绘制竖线下半部分 chartVoltage.Series[1].Points.AddXY(cursorX, chartVoltage.ChartAreas[0].AxisY.Minimum); //绘制竖线上半部分 chartVoltage.Series[1].Points.AddXY(cursorX, chartVoltage.ChartAreas[0].AxisY.Maximum); //绘制横线左半部分 chartVoltage.Series[2].Points.AddXY(chartVoltage.ChartAreas[0].AxisX.Minimum, cursorY); //绘制横线右半部分 chartVoltage.Series[2].Points.AddXY(chartVoltage.ChartAreas[0].AxisX.Maximum, cursorY);

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-01-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档