2013-04-08 7 views
1

저는 챠트 차트를 그리는 MSChart 개체가 있습니다. Y 축은 형평의 값을 나타내고 X 축은 DateTime을 나타냅니다. 콤보 상자를 사용하여 사용자는 X 축의 간격을 변경할 수 있습니다. 예를 들어, "어느 날"의 값을 선택 한 바 매일을 보여주기 위해 X 축 강제 :C# MSChart : 간격 확대/축소

http://i.imgur.com/pY1c2Mw.png

그러나,이 충분하지 않습니다. 이 외에도 사용자가 X 축의 시간 척도를 변경할 때마다 차트에 포함 된 첫 번째 점에서 발견 된 X 축의 첫 번째 간격 표까지 차트를 확대하고 싶습니다. 간단 측면에서, 나는이 일을하고 싶습니다 : 자동

http://i.imgur.com/MwTZO9c.png

합니다. 그러나 나는 X 축에서 첫 번째 간격 표시의 "위치"를 찾는 방법을 모르기 때문에 붙어 있습니다. 첫 번째 데이터 지점에서 간격 표시까지 확대하고 싶지만 얼마나 큰지 모를 때 어떻게 할 수 있습니까? 사용자가 직접 시간 척도를 변경할 수 있으므로 하드 코딩 된 값을 사용할 수 없음을 기억하십시오.

나는 지금까지 결정적인 것을 찾을 수 없었기 때문에 당신이 내게 줄 수있는 도움을 주시면 감사하겠습니다.

편집 : 여기까지 내가 지금까지 발견 한 것이 있습니다. 보다 정확한 용어로, 내가 찾고있는 것은 X 축의 주요 그리드의 첫 번째 그리드 선 위치입니다. 그러나 두 축의 주요 그리드가 그려지면 실제 위치가 제공되지 않거나 적어도 해당 위치가 적절한 위치에 포함되지 않습니다. Ergo, 그 위치는 계산되어야합니다 -하지만 어떻게?

답변

1

하는 이벤트 트리거를 정의합니다

public void your_handler_function(object sender, CursorEventArgs e) 
{ 
    e.NewSelectionStart; // the beginning of the new range 
    e.NewSelectionEnd; // the end of the new range 
} 
:
SelectionRangeChanged += new EventHandler<CursorEventArgs>(your_handler_function); 

와 함수의 정의 내부