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