C# 是否在LineSeries WinForms图表中显示工具提示?
我正在使用WinForms中的折线图的仪表板系统上工作。我需要在每行上显示tooptip。我试过这个C# 是否在LineSeries WinForms图表中显示工具提示?,c#,winforms,mschart,C#,Winforms,Mschart,我正在使用WinForms中的折线图的仪表板系统上工作。我需要在每行上显示tooptip。我试过这个 var series = new Series { Name = chartPoint.SetName, Color = chartPoint.ChartColor, ChartType = SeriesChart
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"
};
但是它对我不起作用在一些RnD之后,我在Line系列上得到了工具提示,但仍然不明白为什么它不适用于此解决方案。 这是解决办法
series.ToolTip = string.Format("Name '{0}' : X - {1} , Y - {2}", chartPoint.SetName, "#VALX{F2}",
"#VALY{F2}");
mainChartControl.GetToolTipText += ChartControlGetToolTipText;
private void ChartControlGetToolTipText(object sender, ToolTipEventArgs e)
{
}
您有两个选项,或者使用图表控件接受的
关键字
myChart.Series[0].ToolTip = "Name #SERIESNAME : X - #VALX{F2} , Y - #VALY{F2}";
在图表
控件中,关键字
是一个字符序列,在运行时被自动计算的值替换。有关图表控件接受的关键字的综合列表,请查阅
或
如果您想要更新奇的东西,您必须处理事件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
}
@拉维,这对你没有帮助吗??