MSChart 확장 라이브러리에 MSChart Extension 이 있다.
이 라이브러리를 사용하면 Zoom과 Pan, Cursor 기능을 쉽게 사용할 수 있다.
GitHub - Code-Artist/MSChartExtension: Windows Forms MSChart Extensions Method
이 라이브러리를 사용중에 Cursor를 프로그램적으로 지우고 싶었는데 아무리 해도 지울 수 있는 방법이 없었다.
라이브러리를 분석해보니까 ClearCursor1() 메소드가 있었다.
그런데 접근한정자가 private인 것이다..
메소드 안을 보니 RemoveAnnotation을 하는 것이다.
그래서 chart의 Annotations 속성을 보니 Count가 4개가 있었다.
{chartAreaName}Cursor_1X
{chartAreaName}Cursor_1Y
{chartAreaName}cursor1_Label_BG
{chartAreaName}cursor1_Label
이 네개의 Annotation을 RemoveAnnotation을 호출하여 제거하도록 하였다.
chartMain.RemoveAnnotation(chartMain.ChartAreas[0].Name + "Cursor_1X");
chartMain.RemoveAnnotation(chartMain.ChartAreas[0].Name + "Cursor_1Y");
chartMain.RemoveAnnotation(chartMain.ChartAreas[0].Name + "cursor1_Label");
chartMain.RemoveAnnotation(chartMain.ChartAreas[0].Name + "cursor1_Label_BG");
그랬더니 잘 지워진다.
반응형
'C#' 카테고리의 다른 글
[c#][.NET Core] 콘솔 애플리케이션으로 실행 (0) | 2023.01.17 |
---|---|
[C#][Winform][MSChart] 차트 Area 영역 재설정 하기 (0) | 2022.10.20 |
[C#] 숫자만 입력받는 TextBox 만들기 (0) | 2021.03.23 |
[C#, DataGridView] 실시간 데이터 추가시 느려지는 현상 해결 (0) | 2020.07.08 |
[C#, DataGridView] 데이터 추가시 DataGridView 깜빡임 문제 해결 (0) | 2020.07.08 |