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

입력 맵(InputMap) 문의 > Q&A | 토론

본문 바로가기

WinForms윈폼 입력 맵(InputMap) 문의

페이지 정보

작성자 물어버릴꺼야 작성일 2023-05-03 10:14 조회 361회 댓글 0건
제품 버전 : Spread.NET 15

본문

입력 맵 설정을 아래와 같이 설정을 했을 때 발생되는 문제 때문의 문의 드립니다.


Key - Enter 

WhenFocused -> MoveToNextCellThenControl 

WhenAncestorOfFocused -> MoveToNextCellThenControl 



스프레드는 현재 0~9번 열(컬럼), 0~3번 행(로우) 있다는 가정


0번 열에서 체인지 이벤트 조건에 부합되면 5번 열로 이동(SetActiveCell(0, 5))을 


구현하고 있는데 동작을 하지 않습니다.  (키 다운 이벤트도 동일)


위의 이슈를 해결하는 방법이 궁금합니다.



추가로 동일한 값으로 수정을 하면 체인지 이벤트가 발생을 안 하는데 


동일한 값이라도 수정을 하면 무조건 체인지 이벤트가 발생되는 옵션?이 있을까요?






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

댓글목록

등록된 댓글이 없습니다.

1 답변

WinForms윈폼 Re: 입력 맵(InputMap) 문의

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

페이지 정보

작성자 GCK써니 작성일 2023-05-03 15:17 댓글 0건

본문

물어버릴꺼야 님, 안녕하세요.

그레이프시티입니다.


1. 0번 열에서 Enter 키를 눌렀을 때, 5번 열로 이동하도록 구현하고자 하시는 것일까요?

만약 그렇다면 Change 이벤트 또는 KeyDown 이벤트 대신, "DialogKey" 이벤트를 활용해보실 수 있습니다. 아래 샘플 코드를 참고 부탁드립니다.

fpSpread1.DialogKey += FpSpread1_DialogKey;

private void FpSpread1_DialogKey(object sender, FarPoint.Win.Spread.DialogKeyEventArgs e)
{
    if(e.KeyCode == Keys.Enter)
    {
        if(fpSpread1.ActiveSheet.ActiveColumnIndex == 0)
        {
            fpSpread1.ActiveSheet.SetActiveCell(fpSpread1.ActiveSheet.ActiveRowIndex, 5);
            e.Handled = true;
        }
    }
}


2. Change 이벤트는 셀 내 데이터가 변경되었을 때 발생하는 이벤트로, 수정 전/후 값이 동일한 경우에도 발생하게 하는 별도의 옵션은 없습니다.

만일 값이 변경되지 않았을 때에도 이벤트가 발생하기를 원하시는 경우, Change 이벤트 대신 EditModeOff 이벤트를 사용해보시는 것은 어떨까요?

EditModeOff 이벤트는 편집 모드가 중지되면 발생하는 이벤트 입니다. 따라서 값에 변화 없이 편집모드가 중지되어도 이벤트가 발생하게 됩니다.

fpSpread1.EditModeOff += FpSpread1_EditModeOff;

private void FpSpread1_EditModeOff(object sender, EventArgs e)
{
    if (fpSpread1.ActiveSheet.ActiveCell.Value != null)
    {
        MessageBox.Show("FpSpread1_EditModeOff");
    }
}


감사합니다.

그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

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