在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