! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

[Event] MouseMove 이벤트를 활용하여, 시트 탭에 마우스를 올렸을 때 시트 탭 정보를 표시하는 방법 > 지식 쉐어링

본문 바로가기

Spread.NET

지식 쉐어링

WinForms [Event] MouseMove 이벤트를 활용하여, 시트 탭에 마우스를 올렸을 때 시트 탭 정보를 표시하는 방법

페이지 정보

작성자 MESCIUS써니 작성일 2023-12-21 17:11 조회 33회 댓글 0건

본문

하나의 Spread에 여러 개의 시트를 만들어서 사용하는 경우는 매우 흔하고, 다양한 용도로 활용됩니다.


일례로, 고객/주문/재고 등과 같은 시트를 만들어 관련 데이터를 각각 저장할 수 있습니다. 

또는 한 시트에는 원본 데이터를 입력하고, 각기 다른 방식으로 데이터를 분석한 결과물을 각각의 시트에 표시할 수 있습니다.


이렇게 여러 개의 시트가 존재하는 경우, 시트 탭에 마우스를 올렸을 때 해당 시트의 목적 설명을 간략하게 툴팁으로 보여준다면, 사용자들이 더 효과적으로 Spread를 사용할 수 있습니다.


본문에서는 MouseMove 이벤트를 활용하여 시트 탭의 툴팁을 표시하는 방법을 살펴보겠습니다.


  1. ToolTip 인스턴스를 생성하고 초기화 합니다.
    System.Windows.Forms.ToolTip toolTip = new System.Windows.Forms.ToolTip();

  2. 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);
    }

  3. FpSpread의 MouseMove 이벤트에 2에서 정의한 이벤트 핸들러를 추가합니다.
    fpSpread1.MouseMove += FpSpread1_MouseMove;
     

위 설정을 적용하면, 다음과 같이 시트 탭에 마우스를 올렸을 때 시트명이 툴팁에 표시되는 것을 보실 수 있습니다.

39feb8a3ebf681970446d9675ad2ad16_1703146156_5855.gif
 

  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.