照葫芦画瓢写一个股价曲线的小工具,想实现一些常用的功能,最后发现了一篇写的挺详细的不错的文章。
不过原文中的方式有理解偏差,后来才理解了一些地方。需要找到代码出来做样例说明,因为时间比较久了,以后更新上来吧。
看到很多网友问mschart控件(在.net中应该直接叫chart控件)如何实现鼠标经过、悬停时显示数值,其实很简单实现方法很多。先讲2种。
(1)用getTollTip事件处理
代码如下:
//先在窗体Load函数中注册事件 private void Form_Load() { chart.GetToolTipText += new EventHandler<ToolTipEventArgs>(chart_GetToolTipText); } //在具体事件处理函数中给出处理方法 void chart_GetToolTipText(object sender, ToolTipEventArgs e) { if (e.HitTestResult.ChartElementType == ChartElementType.DataPoint) { int i = e.HitTestResult.PointIndex; DataPoint dp = e.HitTestResult.Series.Points[i]; //分别显示x轴和y轴的数值,其中{1:F3},表示显示的是float类型,精确到小数点后3位。 e.Text = string.Format("次数:{0};数值:{1:F3} ", dp.XValue, dp.YValues[0]); } }
(2)直接用鼠标悬停事件处理
这个方法比较麻烦,不是首选,因为如果包含了多个Series,还需要每个进行处理- -!如果能够改造实现一次性处理,还是可以用的。
//首先还是必须先注册事件 chart.MouseHover += new EventHandler(chart_MouseHover); //事件处理方法 void chart_MouseHover(object sender, EventArgs e) { if (chart.Series.Count!=0)//这里判断是否包含Series,也可以用Series.Contains() { for (int i = 0; i < chart.Series["Series1"].Points.Count; i++) { chart.Series["Series1"].Points[i].ToolTip = "#VAL";//获取值,可以酌量添加 } } }
今天在编程时,好久不用checkBox,竟然把checkBox默认选中状态如何实现给forget了- -!其实就是checkBox的默认选中状态设置:checkBox.checked=true;
原文地址:http://blog.csdn.net/lllljz/article/details/7616935