[C#] 가계부 만들기 - Input 단 돈 표시 이벤트 작성 - 2

프로젝트/가계부(1)  2013.02.09 08:42

안녕하세요. 명월입니다.


이번 포스팅에서는 Input에 있는 돈 표시 할 수 있는 이벤트를 걸어 보겠습니다.


그전에 사전 기술 조사로 String, Convert.Int32로 작성해 보려고 도전했었으나 잘 안되더라구요. 그래서 아예 이벤트로 만들어 버렸습니다.


그럼 먼저 화면 부터 확인 해 보겠습니다.



위에 저 부분입니다. 저 부분에 우리가 먼저 한글 및 일본어 글씨는 막고 (숫자만 가능하게) 그리고 숫자의 경우는 반각만 사용하게 설정을 해야하겠습니다.



위 코딩 부분은 Text박스 진입할때 Ime 설정을 하는 부분입니다. 영문으로 바꾸고 Disble 시켜버렸습니다.



KeyPress 이벤트는 차단시켜버렸습니다.



키다운 이벤트를 확인 해 보면 숫자가 입력되면 커서의 위치계산과 CMoneyFormat이라는 함수를 호출하는 형태로 되어있습니다.



CMoneyFormat 함수를 살펴보면 글자 3단위 마다 콤마(,)를 설정합니다.
그리고 리턴 값으로는 추가, 삭제된 양을 리턴하네요.. 즉 1 또는 -1이 리턴되겠네요.


그럼 다시 KeyDown 이벤트를 다시 살펴 보겠습니다.



이 부분은 BackSpace 의 처리 내용입니다.



Delete 이벤트와 방향키 Home, End 키에 대한 이벤트 입니다.


그럼 정리 해 보도록하겠습니다.


처음 MoneyKey 라는 텍스트 박스에 키가 눌려지면 숫자, Backspace, Delete 키 그리고 마지막으로 방향키를 인지 하겠습니다. 그외에는 리턴처리.


숫자가 눌려지면 그 위치에 숫자가 입력되고 돈포멧으로 재 표시가 됩니다.


정리하면 숫자만 입력되고 입력될때마다 콤마가 계산되어 나오겠습니다.



결과 화면입니다.


MW_DataInputPanel.cs


댓글 0개가 달렸습니다.
댓글쓰기