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

[Event] 셀 클릭 또는 셀 더블 클릭 시 다른 컨트롤로 포커스를 이동하는 방법 > 지식 쉐어링

본문 바로가기

Spread.NET

지식 쉐어링

WinForms [Event] 셀 클릭 또는 셀 더블 클릭 시 다른 컨트롤로 포커스를 이동하는 방법

페이지 정보

작성자 MESCIUS써니 작성일 2023-11-30 14:32 조회 61회 댓글 0건

본문

Spread를 통해 제품 판매 데이터를 보여주고, 특정 셀을 클릭 또는 더블 클릭했을 때 해당 데이터에 대한 상세 내역을 조회하여 Text Box 등 다른 컨트롤에 보여줄 수 있습니다. 또한 해당 컨트롤로 포커스를 이동하여 내용을 추가로 편집하도록 할 수 있습니다.


이를 위해, 셀 클릭 또는 셀 더블 클릭 시 다른 컨트롤로 포커스를 이동하는 방법을 살펴보겠습니다. 


먼저, 셀 클릭 이벤트 핸들러를 생성합니다. 

private void FpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
{
}


셀 클릭 이벤트가 발생했을 때, 동작하게 할 명령어들을 이벤트 핸들러 내에 정의합니다.

private void FpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
{
    e.cancel = true;
    fpSpread1.ActiveSheet.SetActiveCell(e.Row, e.Column);
    // ... Do somethings ...
    textBox1.Focus();
}


CellClick 이벤트에 이벤트 핸들러를 등록합니다. 

fpSpread1.CellClick += FpSpread1_CellClick;


이제, Spread에서 셀을 클릭했을 때 포커스가 textBox1로 이동하는 것을 확인하실 수 있습니다.


  Point!  

Spread에서 CellClick/CellDoubleClick 이벤트가 발생하면, 이벤트 발생 후 Spread 내부에서 정의된 처리가 실행됩니다. 이 경우 Spread에 포커스가 필요하기 때문에, 이벤트 내에서 일시적으로 다른 컨트롤에 포커스를 이동시켜도 이벤트 발생 후에 다시 시트로 포커스가 돌아옵니다.


따라서, 셀 클릭 또는 셀 더블 클릭 시 다른 컨트롤로 포커스가 이동하게 하기 위해서는, Spread 내부에서 정의된 처리를 취소해줘야 합니다. 이를 위해, e.cancel 속성을 true로 설정합니다.


CellDoubleClick 이벤트의 경우에도 동일하게, Spread의 셀을 더블 클릭했을 때 다른 컨트롤로 포커스를 이동할 수 있습니다. 샘플 코드는 다음과 같습니다.

fpSpread1.CellDoubleClick += FpSpread1_CellDoubleClick;

private void FpSpread1_CellDoubleClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
{
    e.Cancel = true;

    // ... Do somethings ...

    textBox1.Focus();
}


지금까지 셀 클릭 또는 셀 더블 클릭 시 다른 컨트롤로 포커스를 이동하는 방법​을 살펴보았습니다. 

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

댓글목록

등록된 댓글이 없습니다.

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