2012-08-14 33 views
-1

我正在使用ZedGraph繪製一些數據。我需要顯示線圖的標記區域。爲此,我使用紅色感嘆號。在ZedGraph中定位ImageObj

我想讓感嘆號出現在圖表頂部邊界的上方,如下圖所示。即使在垂直滾動時,感嘆號應該隨圖表的水平滾動一起滾動,但應該保持固定在圖表的頂部邊界上方。

到目前爲止,我已經試過這(出現在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位置將其設置得遠離圖表的頂部邊界。

是否有辦法修復感嘆號的位置,以便無論窗格大小如何,它都停留在圖表頂部邊界之上?

enter image description here

回答

0

看起來延伸的ImageObj類並覆蓋Draw方法應該解決的問題。

我會在幾天內將其標記爲答案,但我願意接受其他解決方案。