2012-08-14 2 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 메서드를 오버라이드 (override)처럼 보인다.

나는 이것을 며칠 만에 답으로 표시 하겠지만, 나는 다른 해결책을 열어두고있다.