C# MSchart鼠标悬停时显示数据和checkBox的默认状态

来源:互联网 发布:数据库%号 编辑:程序博客网 时间:2024/06/17 13:04

照葫芦画瓢写一个股价曲线的小工具,想实现一些常用的功能,最后发现了一篇写的挺详细的不错的文章。

不过原文中的方式有理解偏差,后来才理解了一些地方。需要找到代码出来做样例说明,因为时间比较久了,以后更新上来吧。



看到很多网友问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

0 0