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

여러개의 시트중 하나의 시트탭을 Mouse_Hover 할경우 hover 한 시트의 인덱스를 알수 있을까요? > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 여러개의 시트중 하나의 시트탭을 Mouse_Hover 할경우 hover 한 시트의 인덱스를 알수 있을까요?

페이지 정보

작성자 iroon 작성일 2023-11-26 13:50 조회 129회 댓글 0건
제품 버전 : 16.1.20231.0
컨트롤 이름 : fpSpread

본문

역시 저 혼자 알 수 있는 방법은 없군요 ㅠㅠ.

제목에서와 같이 시트탭에 마우스를 올려놓았을때 그 시트를 설명하는 툴팁을 만들려고 합니다.

Mouse_Hover 이벤트가 있던데 시트탭에 마우스를 올려놓으면 그 시트의 인덱스를 알 수 있을까요?

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

댓글목록

등록된 댓글이 없습니다.

4 답변

WinForms윈폼 Re: 여러개의 시트중 하나의 시트탭을 Mouse_Hover 할경우 hover 한 시트의 인덱스를 알수 있을까요?

추천1 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 MESCIUS써니 작성일 2023-11-28 18:22 댓글 0건

본문

iroon 님, 안녕하세요.

메시어스입니다.


FpSpread의 MouseMove 이벤트를 사용하여, 시트 탭 위에 마우스를 가져갔을 때 해당 시트 탭의 인덱스를 가지고 올 수 있습니다.

아래 샘플 코드를 원하시는 기능 구현 시 참고하여주시기 바랍니다. 

fpSpread1.MouseMove += FpSpread1_MouseMove;

ToolTip toolTip = new ToolTip();
private void FpSpread1_MouseMove(object sender, MouseEventArgs e)
{
    FarPoint.Win.Spread.HitTestInformation ht = fpSpread1.HitTest(e.X, e.Y);
    if (ht.Type == FarPoint.Win.Spread.HitTestType.TabStrip)
    {
        int index = ht.TabStripInfo.Sheet;
        if (index >= 0 && index < fpSpread1.Sheets.Count)
        {
            FarPoint.Win.Spread.SheetView sheet = fpSpread1.Sheets[index];
            toolTip.Show(sheet.SheetName, fpSpread1);
            return;
        }
    }
    toolTip.Hide(fpSpread1);
}


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

WinForms윈폼 Re: 여러개의 시트중 하나의 시트탭을 Mouse_Hover 할경우 hover 한 시트의 인덱스를 알수 있을까요?

추천0 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 iroon 작성일 2023-11-28 22:17 댓글 0건

본문

System.Windows.Forms.ToolTip toolTip = new System.Windows.Forms.ToolTip();


tooltip 선언은 모호하다고 하여 이렇게 선언했는데 맞는지 모르겠습니다.


마우스가 시트탭을 이동하거나 벗어나거나 할때 이상이 없는데,

이상하게도 시트탭의 아랫쪽으로 벗어나면 아래와 같은 에러가 납니다.



System.NullReferenceException: '개체 참조가 개체의 인스턴스로 설정되지 않았습니다.'


ht이(가) null였습니다.


버그인지 뭔지 모르겠네요. 한번 체크해 봐 주세요.

댓글목록

등록된 댓글이 없습니다.

WinForms윈폼 Re: 여러개의 시트중 하나의 시트탭을 Mouse_Hover 할경우 hover 한 시트의 인덱스를 알수 있을까요?

추천1 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 MESCIUS써니 작성일 2023-11-29 09:40 댓글 0건

본문

iroon 님, 안녕하세요.

메시어스입니다.


시트 탭 아래쪽으로 마우스가 벗어났을 때 발생하는 현상을 공유해주심에 감사드립니다. 관련 내용 확인 후 안내드리겠습니다.


NullReferenceException 발생을 방지하기 위해, 조건문을 아래와 같이 수정하여 사용해주시기 바랍니다.

if (ht != null && ht.Type == FarPoint.Win.Spread.HitTestType.TabStrip)


아울러, ToolTip은 말씀하신 것처럼 선언하여 사용하시는 것이 맞습니다.

System.Windows.Forms.ToolTip toolTip = new System.Windows.Forms.ToolTip();


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

WinForms윈폼 Re: 여러개의 시트중 하나의 시트탭을 Mouse_Hover 할경우 hover 한 시트의 인덱스를 알수 있을까요?

추천1 이 글을 추천하셨습니다 비추천0 채택채택

페이지 정보

작성자 MESCIUS써니 작성일 2023-11-29 10:52 댓글 1건

본문

iroon 님, 안녕하세요.

메시어스입니다.


마우스가 시트 탭 아래로 벗어날 때, ht가 null로 보여지는 이유에 대하여 설명드립니다.


마우스가 시트 탭 아래로 내려가면, 마우스는 Spread의 밖으로 벗어나게 됩니다.

이때 FpSpread.MouseMove 이벤트는 발생하지만, 마우스의 위치는 Spread 내부에 속하지 않기 때문에 fpSpread.HitTest 메서드는 null을 반환하게 됩니다.


따라서, 앞서 안내드린 것과 같이 ht가 null인지 체크하는 코드를 추가하여 사용해주시기 바랍니다.

if (ht != null && ht.Type == FarPoint.Win.Spread.HitTestType.TabStrip)


감사합니다.

메시어스 드림

댓글목록

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