其他分享
首页 > 其他分享> > 在LineSeries WinForms图表中显示工具提示?

在LineSeries WinForms图表中显示工具提示?

作者:互联网

我正在使用Dashboard系统,在WinForms中使用折线图.我需要在每一行上显示tooptip.我已经试过了

var series = new Series
                    {
                        Name = chartPoint.SetName,
                        Color = chartPoint.ChartColor,
                        ChartType = SeriesChartType.Line,
                        BorderDashStyle = chartPoint.ChartDashStyle,
                        BorderWidth = chartPoint.BorderWidth,
                        IsVisibleInLegend = !chartPoint.HideLegend,
                        ToolTip = "Hello World"
                    };

但它对我不起作用

解决方法:

您有两个选择,或者使用Chart控件接受的关键字.

myChart.Series[0].ToolTip = "Name #SERIESNAME : X - #VALX{F2} , Y - #VALY{F2}";

在Chart控件中,关键字是一个字符序列,在运行时会被自动计算的值替换.有关Chart控件接受的关键字的完整列表,请查询Keyword reference
要么

如果您想要更奇特的东西,则必须处理事件GetToolTipText

this.myChart.GetToolTipText += new System.Windows.Forms.DataVisualization.Charting.Chart.ToolTipEventHandler(this.myChart_GetToolTipText);

现在,我不确定要在工具提示上显示什么,但是可以相应地添加逻辑.假设您要显示系列中的数据点的值

private void myChart_GetToolTipText(object sender, System.Windows.Forms.DataVisualization.Charting.ToolTipEventArgs e)
{
    switch(e.HitTestResult.ChartElementType)
    {  
        case ChartElementType.DataPoint:
            e.Text = myChart.Series[0].Points[e.HitTestResult.PointIndex]).ToString()
                     + /* something for which no keyword exists */;
            break;
        case ChartElementType.Axis:
            // add logic here
        case ....
        .
        .    
        default:
            // do nothing       
    }

标签:mschart,c,winforms
来源: https://codeday.me/bug/20191030/1969109.html