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

spread에서 Cell 말고 grayarea영역 이벤트를 받고 싶습니다. > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 spread에서 Cell 말고 grayarea영역 이벤트를 받고 싶습니다.

페이지 정보

작성자 김영애 작성일 2022-07-20 12:54 조회 1,124회 댓글 0건
제품 버전 : 10
컨트롤 이름 : spread.net

본문

안녕하세요

spread에서 cell을 클릭하면 이벤트가 발생하여 알 수가 있는데

cell 말고 밑에 빈 공간을 클릭하면 클릭했는지 알수 있는 방법이 있을까요?



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

댓글목록

등록된 댓글이 없습니다.

2 답변

WinForms윈폼 Re: spread에서 Cell 말고 grayarea영역 이벤트를 받고 싶습니다.

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

페이지 정보

작성자 GCK써니 작성일 2022-07-21 11:42 댓글 2건

본문

김영애 님, 안녕하세요.

그레이프시티입니다.


Spread.NET에서는 GrayArea를 클릭했을 때 발생하는 이벤트는 제공하고 있지 않습니다.

그러나 다음과 같이 HitTestInformation을 활용하여 셀 하단 또는 우측의 빈 공간을 클릭했을 때 이벤트가 발생하도록 하실 수 있습니다.

하기 샘플 코드를 개발에 참고 부탁드립니다.

private void Form1_Load(object sender, EventArgs e)
{
    fpSpread1.ActiveSheet.RowCount = 5;
    fpSpread1.ActiveSheet.ColumnCount = 5;
    fpSpread1.MouseUp += FpSpread1_MouseUp;
}

private void FpSpread1_MouseUp(object sender, MouseEventArgs e)
{
            
    FarPoint.Win.Spread.HitTestInformation hti = fpSpread1.HitTest(e.X, e.Y);

    if (hti.Type == FarPoint.Win.Spread.HitTestType.Viewport)
    {
        if ( (hti.ViewportInfo.Row == -1) && (hti.ViewportInfo.Column == -1) )
        {
            MessageBox.Show("GrayArea Clicked");

        }
    }
}

36035e9cca327f527aab0878a2fa5ffb_1658371822_9238.gif
 

Spread.NET V10 | HitTestInformation Class 도움말 문서


추가로 궁금하신 사항이 있을 경우, 문의주시기 바랍니다.

감사합니다.

그레이프시티 드림

댓글목록

김영애님의 댓글

김영애 작성일

답변 감사드립니다... 클릭은 잘 되는데 혹시 더블클릭은 안되는거겠죠?

GCK써니님의 댓글의 댓글

GCK써니 작성일

@김영애  님, 안녕하세요.
클릭이 아니라 더블클릭을 사용하고 싶으신 경우, 아래 새로운 답글로 전달드린 코드를 개발에 참고해주시길 바랍니다.

WinForms윈폼 Re: spread에서 Cell 말고 grayarea영역 이벤트를 받고 싶습니다.

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

페이지 정보

작성자 GCK써니 작성일 2022-07-21 15:53 댓글 1건

본문

김영애 님, 안녕하세요.

그레이프시티입니다.


클릭이 아니라 더블클릭을 했을 때 위와 같이 동작하기 위해서는, 아래 코드를 사용해주시기 바랍니다.

fpSpread1.MouseDown += FpSpread1_MouseDown;
fpSpread1.MouseUp += FpSpread1_MouseUp;

private bool _isDoubleClick;
private void FpSpread1_MouseDown(object sender, MouseEventArgs e)
{
    _isDoubleClick = e.Clicks > 1;
}

private void FpSpread1_MouseUp(object sender, MouseEventArgs e)
{
    if (_isDoubleClick)
    {
        FarPoint.Win.Spread.HitTestInformation ht = fpSpread1.HitTest(e.X, e.Y);

        if (ht.Type == FarPoint.Win.Spread.HitTestType.Viewport)
        {
            FarPoint.Win.Spread.ViewportHitTestInformation viewportInfo = ht.ViewportInfo;
                    
            if (!viewportInfo.InDragDrop && !viewportInfo.InDragFill && !viewportInfo.InNote &&
                !viewportInfo.InNoteIndicator && !viewportInfo.InReservedLocation && !viewportInfo.InShape &&
                viewportInfo.Row == -1 && viewportInfo.Column == -1)
            {
                MessageBox.Show("GrayArea double-clicked");
            }
        }
    }
}


다른 궁금한 점이 생기면, 문의 주시기 바랍니다.

감사합니다.

그레이프시티 드림

댓글목록

김영애님의 댓글

김영애 작성일

감사합니다. 많은 도움이 되었습니다~~

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