场景

Winform中设置ZedGraph鼠标悬浮显示距离最近曲线上的点的坐标值和X轴与Y轴的标题:

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

上面博客能实现鼠标悬浮显示最近的曲线上点的坐标值与X轴和Y轴的标题,

如果想要再显示其他信息,比如曲线所对应的文件名等。

那么就要在生成曲线时将自定义要保存的信息与曲线进行绑定存储。

注:

博客主页:
https://blog.csdn.net/badao_liumang_qizhi

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

ZedGraph的曲线对象是LineItem,其有一属性Tag可以用它来存储额外信息。

在生成曲线时

LineItem myCurve = myPane.AddCurve(yList[i].Title, list, System.Drawing.ColorTranslator.FromHtml(yList[i].Color), symbolType);
//使用曲线TAG存储数据库名 文件名
//文件完整路径
string filePath = compTestDataList[k].ThisDataFile;
//文件名
string fileName = System.IO.Path.GetFileNameWithoutExtension(filePath);
//数据库名
string dBName = System.IO.Directory.GetParent(filePath).ToString();
dBName = dBName.Substring(dBName.LastIndexOf('\\') + );
dBName = "DB_" + dBName;
//短文件名
string[] titles = fileName.Split('_');
string shortFileName = "柜" + titles[titles.Length - ] + "通道" + titles[titles.Length - ];
myCurve.Tag = dBName + shortFileName;
myCurve.YAxisIndex = i;

生成曲线时使用曲线对象的Tag属性存储了自定义的一些信息。

那么在鼠标的悬浮事件中

tag = nearstCurve.Tag.ToString();

完整示例代码

private static string zgc_CursorValueEvent(ZedGraphControl sender, GraphPane pane, Point mousePt)
{
ZedGraphControl zgc = sender as ZedGraphControl;
if (zgc != null)
{
CurveItem nearstCurve;
int i;
Double x = 0.0;
Double y = 0.0;
string xTitle = String.Empty;
string yTtile = String.Empty;
string tag = String.Empty;
string xVlaue = String.Empty;
string z = String.Empty;
try
{
zgc.GraphPane.FindNearestPoint(mousePt, out nearstCurve, out i);
if (nearstCurve != null && nearstCurve.Points.Count > i && nearstCurve.Points[i] != null)
{
z = nearstCurve.Points[i].Tag.ToString();
y = nearstCurve.Points[i].Y;
xTitle = zgc.GraphPane.XAxis.Title.Text;
//获取当前pane面板的YAxis的标题的文本内容,通过nearstCurve.YAxisIndex获取当前距离最近的曲线所对应的Y轴的Index
yTtile = zgc.GraphPane.YAxisList[nearstCurve.YAxisIndex].Title.Text;
tag = nearstCurve.Tag.ToString();
}
}
catch (Exception ex)
{ }
return tag+ " X-" + xTitle + ": " + z + " Y-" + yTtile + ": " + y.ToString();
}
else
{
return String.Empty;
}
}

效果

ZedGraph的曲线的LineItem对象的Tag属性存储信息进而在鼠标悬浮时进行显示的更多相关文章

  1. Winform中设置ZedGraph鼠标悬浮显示举例最近曲线上的点的坐标值和X轴与Y轴的标题

    场景 Winform中设置ZedGraph鼠标双击获取距离最近曲线上的点的坐标值: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/ ...

  2. 使用 JavaScript 中的 document 对象查找 HTML 元素,实现“登录”按钮的高亮特效 鼠标悬浮于“登录”按钮时,按钮高亮显示;

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的 document 对象查找 HTML 元素,实现"登录"按钮的高亮特效 鼠标悬浮于"登录" ...

  3. WInform中实现设置ZedGraph中曲线的X轴与Y轴的上限与下限

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  4. Winform中实现ZedGraph中曲线右键显示为中文

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  5. Winform中设置ZedGraph的曲线为散点图

    场景 Winform中设置ZedGraph的曲线符号Symbol以及对应关系: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  6. Winform中设置ZedGraph的曲线为折线、点折线、散点图

    场景 Winform中设置ZedGraph的曲线为散点图: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102465399 在上 ...

  7. 巧用TAG属性保存对象的指针

    指针的数据类型是整型,一个指针就是一个整型的数值. 所以凡整型的变量(这个整型的变量可以是声明在INI文件中,也可以是声明在函数中的)也好,对象的整型的属性也好,都可以用来存储一个指针. 但对象往往没 ...

  8. zedgraph控件的一些比较有用的属性 转

    (1)zedgraph控件属性具体解释: AxisChange()() ->> This performs an axis change command on the graphPane. ...

  9. zedgraph控件的一些比较有用的属性

    (1)zedgraph控件属性具体解释: AxisChange()() ->> This performs an axis change command on the graphPane. ...

随机推荐

  1. python3 之 迭代器与生成器

    迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,知道所有的元素被访问完结束. 迭代器只能往前不会后 ...

  2. 2019-9-24:渗透测试,css样式,js基础学习笔记

    css分组和嵌套:分组:比如有<h1><h4><p>,3个标签,设置css时候可以 h1,h4,p{样式:属性} 这样的语法嵌套:比如.lei{样式:属性},.le ...

  3. cenos7搭建gitlab

    git.github和gitlab的区别 git:是一种版本控制系统,是一个命令,是一种工具 gitlib:是基于实现功能的开发库 github:是一个基于git实现的在线代码仓库软件 gitlib可 ...

  4. Eclipse中查看JAVA源代码显示SOURCE NOT FOUND解决办法

    Problem:Java利用快捷键查看源代码显示Source not found 出现问题的原因:JDK目录下缺失src.zip文件只有javafx-src.zip src.zip文件:Java所有类 ...

  5. JavaScript实战实例剖析——(激励倒计时日历)

    如今JavaScript在前端开发中的地位越来越高,掌握JavaScript的深度往往能决定你职业道路深远,这次通过制作 带着倒计时功能的激励日历的小实例,进一步细致的掌握JavaScript的语法与 ...

  6. c语言I博客专业06

    问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/8655 我在 ...

  7. Linux运维的第一周总结

    这个阶段主要学习 Linux 运维技术,包括 Linux 基本操作.Bash 编程.应用服务部署.数据库服务部署.日志管理.系统监控等. 第1周: Linux基础本周学习 Linux 基本操作.用户与 ...

  8. Flink入门(三)——环境与部署

    flink是一款开源的大数据流式处理框架,他可以同时批处理和流处理,具有容错性.高吞吐.低延迟等优势,本文简述flink在windows和linux中安装步骤,和示例程序的运行,包括本地调试环境,集群 ...

  9. [NACOS HTTP-GET] The maximum number of tolerable server reconnection errors has been reached

    错误的意思是:已达到可容忍的服务器重连接错误的最大数目.有两个解决思路:一个将这个值设置的更大:然后是排查自己连接服务哪儿出了问题.先说在哪儿设置这个值:在拉取nacos服务的注解配置中,添加一个属性 ...

  10. eclipse svn 问题记录

    1. 标记为合并,则是 舍弃的是资源库中的文件:覆盖,则是 舍弃本地文件