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

C# 윈도우폼에서 KeyDown 이벤트 관련. > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 C# 윈도우폼에서 KeyDown 이벤트 관련.

페이지 정보

작성자 doaa 작성일 2023-12-08 10:35 조회 213회 댓글 0건
제품 버전 : 15.0.20211.0
컨트롤 이름 : FarPoint.Win.Spread

본문

C# 윈폼에 스프레드를 올려서 개발중입니다.


스프레드의 OperationMode를 RowMode로 설정 후 실행을 하면


스프레드의 내용을 클릭하면서 포커스가 스프레드로 가면 더이상 윈폼의 KeyDown 이벤트가 일어나지 않습니다.


RowMode가 아닌 SingleSelect 일때는 문제가 없습니다.


RowMode를 써야 하는 이유는 스프레드 컬럼에 체크박스 확인 컬럼을 클릭할때 체크가 되기 위함입니다.


확인 바랍니다.


감사합니다.


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

댓글목록

등록된 댓글이 없습니다.

3 답변

WinForms윈폼 Re: C# 윈도우폼에서 KeyDown 이벤트 관련.

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

페이지 정보

작성자 MESCIUS써니 작성일 2023-12-11 11:19 댓글 1건

본문

doaa 님, 안녕하세요.

메시어스입니다.


자세한 설명에 감사드립니다.

적용가능한 방법을 안내 드리기 위해, 한 가지 궁금한 점이 있어 질문드립니다.


Spread에서는 키보드로 무언가를 입력하거나 셀을 이동하는 등의 동작을 사용하지 않는 것인가요?

Spread의 KeyDown 이벤트 관련 작업은 사용하지 않을 예정이신지 궁금합니다.


감사합니다.

메시어스 드림

댓글목록

doaa님의 댓글

doaa 작성일

네 사용하지 않고 오직 마우스 클릭시 확인 컬럼 체크/체크해제만 되면 됩니다.

WinForms윈폼 Re: C# 윈도우폼에서 KeyDown 이벤트 관련.

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

페이지 정보

작성자 doaa 작성일 2023-12-11 13:37 댓글 1건

본문

네 사용하지 않고 오직 마우스 클릭시 확인 컬럼 체크/체크해제만 되면 됩니다. 

댓글목록

MESCIUS써니님의 댓글

MESCIUS써니 작성일

네 답변 감사합니다, doaa님.
문의하신 내용에 대하여 확인 중에 있습니다.
관련 내용이 업데이트 되는 대로 안내드리겠습니다.

감사합니다.

WinForms윈폼 Re: C# 윈도우폼에서 KeyDown 이벤트 관련.

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

페이지 정보

작성자 MESCIUS써니 작성일 2023-12-11 14:42 댓글 0건

본문

doaa 님, 안녕하세요.

메시어스입니다.


Form.KeyDown을 처리하려는 경우 KeyPreview를 TRUE로 설정하고 Spread가 키 입력을 처리하지 않도록 해야 합니다. 이때 FpSpread를 상속받는 클래스를 사용자정의하여 사용하실 수 있습니다.


아래 샘플 코드를 참고하여주시기 바랍니다.

public Form1()
{
    KeyPreview = true;
    InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
    FarPoint.Win.Spread.FpSpread customSpread = new CustomSpread(FarPoint.Win.Spread.LegacyBehaviors.None);
    customSpread.Location = new System.Drawing.Point(0, 0);
    customSpread.Name = "fpSpread1";
    customSpread.Sheets.Count = 1;
    customSpread.Size = new System.Drawing.Size(500, 500);
    this.Controls.Add(customSpread);

    customSpread.Sheets[0].OperationMode = FarPoint.Win.Spread.OperationMode.RowMode;
    customSpread.Sheets[0].Columns[0].CellType = new FarPoint.Win.Spread.CellType.CheckBoxCellType();
}


public class CustomSpread : FarPoint.Win.Spread.FpSpread
{
    public CustomSpread(FarPoint.Win.Spread.LegacyBehaviors legacyBehaviors) : base(legacyBehaviors) { }
            
    protected override void OnKeyPress(KeyPressEventArgs e) { }
    protected override void OnKeyDown(KeyEventArgs e) { }
    protected override void OnKeyUp(KeyEventArgs e) { }
    protected override bool IsInputKey(Keys keyData) => false;
    protected override bool ProcessDialogKey(Keys keyData) => false;
}


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

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