-1

我正在使用 ZedGraph 绘制一些数据。我需要显示折线图的标记区域。为此,我使用了一个红色感叹号。

我希望感叹号出现在图表的上边框上方,如下图所示。感叹号应随着图表的水平滚动而滚动,但即使在垂直滚动时也应保持固定在图表的上边框上方。

到目前为止,我已经尝试过这个(出现在form_shown事件中):

ZedGraph.ImageObj io = new ZedGraph.ImageObj(global::ZedGraphJunk.Properties.Resources.alarm, 0d, -0.08d, 5d, 21d);
io.IsVisible = true;
io.IsScaled = false;
io.Location.CoordinateFrame = ZedGraph.CoordType.XScaleYChartFraction;

this.MasterZedGraph.GraphPane.GraphObjList.Add(io);
this.MasterZedGraph.Refresh();

这几乎可以工作,除了如果窗口调整大小并变高,感叹号就会消失。这是因为-0.08d告诉 ZedGraph 将其绘制在图表的上边框上方,但位置是相对于整个窗格(包含图表的整个区域)的大小。因此,如果窗格变大,ImageObj 的 y 位置会使其远离图表的上边框。

有没有办法固定感叹号的位置,以便无论窗格大小如何,它都保持在图表的顶部边框上方?

在此处输入图像描述

4

1 回答 1

0

看起来像扩展 ImageObj 类并覆盖 Draw 方法应该可以解决问题。

几天后我会将此标记为答案,但我对其他解决方案持开放态度。

于 2012-08-14T21:52:18.523 回答