WinForms [Event] MouseMove 이벤트를 활용하여, 시트 탭에 마우스를 올렸을 때 시트 탭 정보를 표시하는 방법
추천0 비추천 0
페이지 정보
작성자 MESCIUS써니 작성일 2023-12-21 17:11 조회 33회 댓글 0건본문
관련링크
하나의 Spread에 여러 개의 시트를 만들어서 사용하는 경우는 매우 흔하고, 다양한 용도로 활용됩니다.
일례로, 고객/주문/재고 등과 같은 시트를 만들어 관련 데이터를 각각 저장할 수 있습니다.
또는 한 시트에는 원본 데이터를 입력하고, 각기 다른 방식으로 데이터를 분석한 결과물을 각각의 시트에 표시할 수 있습니다.
이렇게 여러 개의 시트가 존재하는 경우, 시트 탭에 마우스를 올렸을 때 해당 시트의 목적 설명을 간략하게 툴팁으로 보여준다면, 사용자들이 더 효과적으로 Spread를 사용할 수 있습니다.
본문에서는 MouseMove 이벤트를 활용하여 시트 탭의 툴팁을 표시하는 방법을 살펴보겠습니다.
- ToolTip 인스턴스를 생성하고 초기화 합니다.
System.Windows.Forms.ToolTip toolTip = new System.Windows.Forms.ToolTip();
- MouseMove 이벤트 핸들러를 생성하고 다음과 같이 정의합니다.
private void FpSpread1_MouseMove(object sender, MouseEventArgs e) { // HitTest 메서드를 통해 FpSpread 컨트롤에서 마우스가 위치한 곳에 대한 정보를 가져옵니다. FarPoint.Win.Spread.HitTestInformation ht = fpSpread1.HitTest(e.X, e.Y); // HitTestInfomation.Type을 통해 HitTestType을 확인할 수 있습니다. // 만약 Type이 TabStrip이면, 탭 스트립 위에서 마우스가 움직였음을 알 수 있습니다. if (ht != null && ht.Type == FarPoint.Win.Spread.HitTestType.TabStrip) { // TabStripInfo에서 현재 마우스가 올라간 시트의 인덱스를 가져올 수 있습니다. int index = ht.TabStripInfo.Sheet; if (index >= 0 && index < fpSpread1.Sheets.Count) { FarPoint.Win.Spread.SheetView sheet = fpSpread1.Sheets[index]; // HitTest가 발생한 시트에 대하여 툴팁을 표시합니다. // 예시에서는 시트의 이름을 표시합니다. toolTip.Show(sheet.SheetName, fpSpread1); return; } } toolTip.Hide(fpSpread1); }
- FpSpread의 MouseMove 이벤트에 2에서 정의한 이벤트 핸들러를 추가합니다.
fpSpread1.MouseMove += FpSpread1_MouseMove;
위 설정을 적용하면, 다음과 같이 시트 탭에 마우스를 올렸을 때 시트명이 툴팁에 표시되는 것을 보실 수 있습니다.
댓글목록
등록된 댓글이 없습니다.