2009-11-17 3 views
0

날짜 또는 시간 편집기에서 현재 선택된 부분을 확인하려고합니다. PDA의 탐색 키를 사용할 때 사용자 지정 동작을 제공해야합니다. 특히 나는 오른쪽 버튼을 누르고 날짜의 마지막 부분 (예 : 연도)을 선택할 때 다음 컨트롤로 포커스를 옮기길 원합니다. 기본 동작은 날짜 부분을 순환합니다.DateTimePicker의 커서/선택 위치

DateTimePicker (link)에 대한 Win32 API 옵션을 살펴 봤지만 지원하지 않습니다.

제안 사항?

답변

0

.Net cf 날짜 선택 도구는 PITA입니다.

포커스가 날짜 선택기에있을 때 "오른쪽"버튼에 대해 KeyUp event을 트래핑하고 무시하려고 시도 했습니까? "오른쪽"키를 누른 횟수를 세어 위치 설정을 위조 할 수 있습니다. 날짜 선택 도구가 포커스를 받으면 카운터 변수를 1로 설정하고 "오른쪽"키를 가로 챌 때 카운터 값을 하나씩 증가시킵니다. "오른쪽"키인지 여부와 카운터 변수가 세 세트의 배수인지 확인하려면 e.Handled = true로 설정하면 기본 비헤이비어가 실행되지 않습니다. 물론 오버라이드 로직은 포커스를 다음 컨트롤로 설정하는 것입니다.

편집 : "왼쪽"키 누르기에서 카운터 var를 감소시키는 것을 잊지 마세요!

맞춤 옵션 : 최선의 방법은 나만의 맞춤 날짜 관리 기능을 만드는 것입니다. 나는 이것을했다. 너무 어렵지 않습니다. 컨트롤에서 세 개의 텍스트 상자를 정렬하고 기본적인 유효성 검사를 수행하는 것이 중요합니다. 필요한 경우 선택기의 캘린더 부분도 계속 사용합니다.

OpenNetCF에 주위를 뿌리 칠 가치가 있습니다. 데이트 피커에 대한 대안이 있을지 모르겠지만 수업에는 엄청난 수업이 있습니다. 그래도 심각한 CF 개발자라면 한 번해볼 가치가 있습니다.

+0

CF.NET DateTimePicker에 대한 무료 대안이 있습니까? 나는 당신의 제안을 염두에 두겠다. 물론 키와 스타일러스를 함께 사용하면 제대로 작동하지 않습니다. – Muxa

+0

나는 무료 데이트 피커 하나를 발견했는데 그것은 더 나빴다. 솔직히 나는 당신의 최선의 방법은 자신의 사용자 정의 날짜 컨트롤을 구축하는 것입니다 생각합니다. 나는 이것을했다. 너무 어렵지 않습니다. 컨트롤에서 세 개의 텍스트 상자를 정렬하고 기본적인 유효성 검사를 수행하는 것이 중요합니다. –

관련 문제