读书人

指针搬动或离开chartControl时显示值

发布时间: 2012-12-18 12:43:41 作者: rapoo

指针移动或离开chartControl时显示值

?当鼠标悬浮在图表上的某个系列点上时显示相对应的提示信息

?

?

#region 指针移动或离开时发生        ToolTipController toolTipController = new ToolTipController();        /// <summary>        /// 鼠标移过组件时发生        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void chartControl1_MouseMove(object sender, MouseEventArgs e)        {            ChartHitInfo hitInfo = chartControl1.CalcHitInfo(e.Location);            StringBuilder builder = new StringBuilder();            if (hitInfo.InDiagram)                builder.AppendLine("在图");            if (hitInfo.InNonDefaultPane)                builder.AppendLine("在非默认的窗格: " + hitInfo.NonDefaultPane.Name);            if (hitInfo.InAxis)            {                builder.AppendLine("中抽线: " + hitInfo.Axis.Name);                if (hitInfo.AxisLabelItem != null)                    builder.AppendLine("标签项目: " + hitInfo.AxisLabelItem.Text);                if (hitInfo.AxisTitle != null)                    builder.AppendLine("抽标题: " + hitInfo.AxisTitle.Text);            }            if (hitInfo.InChartTitle)                builder.AppendLine("图表标题: " + hitInfo.ChartTitle.Text);            if (hitInfo.InLegend)                builder.AppendLine("In legend");            if (hitInfo.InSeries)                builder.AppendLine("系列: " + ((Series)hitInfo.Series).Name);            if (hitInfo.InSeriesLabel)            {                builder.AppendLine("系列标签");                builder.AppendLine("系列: " + ((Series)hitInfo.Series).Name);            }            if (hitInfo.SeriesPoint != null)            {                builder.AppendLine("Argument: " + hitInfo.SeriesPoint.Argument);                if (!hitInfo.SeriesPoint.IsEmpty)                    builder.AppendLine("Value: " + hitInfo.SeriesPoint.Values[0]);            }            if (builder.Length > 0)                toolTipController.ShowHint( builder.ToString(), chartControl1.PointToScreen(e.Location));            else                toolTipController.HideHint();        }        /// <summary>        ///  鼠标离开组件时发生        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void chartControl1_MouseLeave(object sender, EventArgs e)        {            toolTipController.HideHint();        }        #endregion

读书人网 >编程

热点推荐