分组后,图表区域上未显示注释

时间:2019-06-09 16:45:51

标签: vb.net mschart

我有两个注释文本和行,并希望使用AnnotationGroup Class分组为单个注释。我使用了以下代码:

Dim line As New HorizontalLineAnnotation
With line
    .IsSizeAlwaysRelative = False
    .ClipToChartArea = Chart1.ChartAreas(0).Name
    .IsInfinitive = True
    .LineColor = Color.Black
    .LineDashStyle = ChartDashStyle.Dash
    .LineWidth = 2
End With
Dim text As New TextAnnotation
With text
    .IsSizeAlwaysRelative = False
    .Text = "something"
    .ForeColor = line.LineColor
End With
Dim group As New AnnotationGroup
With group
    .AxisX = Chart1.ChartAreas(0).AxisX
    .AxisY = Chart1.ChartAreas(0).AxisY
    .AnchorX = 0
    .AnchorY = 10
    .Annotations.Add(line)
    .Annotations.Add(text)
End With
Chart1.Annotations.Add(group)

编译的代码没有任何错误,但是图表区域中未显示任何内容。 我不知道。而且,MSDN对此也没有说什么。

谢谢。

1 个答案:

答案 0 :(得分:1)

恭喜,您是使用AnnotationGroups的极少数人之一。

它们对于将注释分组在一起非常有用,以便您可以将其移动或一起隐藏和显示。为了使任何Annotations都显示出来,您需要设置更多属性

最值得注意的是,所有注释都需要具有 size position 。后者可以以值单位或位置百分比表示,并且可以是绝对值或锚定(带有或不带有偏移)。您也可以混合使用这些系统!

Line- and Text- or RectangleAnnotationsAnnotationGroup都是如此,因此在以某种方式设置尺寸和位置后,它们应该会显示。

请阅读所有相关属性的文档,以了解您想要哪种定位。 -设置注释组的轴后,其位置将以轴为单位。

请注意,Annotations的位置值相对于它们所属的AnnotationGroup

如果您需要更多帮助,可以这样说;我只做c#,但是代码应该易于翻译。