2008-09-25 3 views
2

DateTimePicker의 MaxDate 및 MinDate 속성을 설정했습니다. 그러나 런타임에 컨트롤을 테스트 할 때 유효한 날짜와 유효하지 않은 날짜를 알 수있는 방법이 없습니다. 유일한 차이점은 유효하지 않은 날짜를 클릭해도 아무런 효과가 없다는 것입니다.DateTimePicker에서 잘못된 선택을 숨기는 방법

이것은 매우 직관적이지 않습니다. 유효한 날짜가 무엇인지 한눈에 알 수 있기를 원합니다.

유효한 날짜 범위를 강조 표시 할 수있는 방법이 있습니까? 아니면 더 적절하게 잘못된 날짜가 희미 해지나요? 아니면 더 적절한 다른 컨트롤이 있습니까? 몇 가지 콤보 상자가 제대로 작동 할 것이라고 확신하지만 날짜를 묻는 메시지가 표시되면 사용자에게 캘린더 컨트롤이 제공되어야한다고 생각합니다.

문맥 : 이것은 WinForms 차트 응용 프로그램입니다. 유효한 데이터의 범위는 고정되어 있습니다 (새로운 데이터는 다른 프로세스를 통해 추가됩니다). 사용자는 차트의 시작 시간 (및 기간은 별도로 처리됨)의 날짜와 시간을 선택해야합니다.

+0

흠,이 프레임 워크의 어떤 버전을보고 있습니까? 내 모든 DateTimePickers (.NET 3.5 SP1에서) 단순히 잘못된 날짜를 전혀 표시하지 않습니다. – mdb

+0

Vista에서 .NET 2.0을 사용하고 DateTimePicker가 최소/최대 날짜 범위를 벗어나는 날짜를 전혀 표시하지 않습니다. – MusiGenesis

답변

1

비슷한 문제가 있습니다. 값이 변경 될 때마다 유효성 검사 프로세스를 실행하고 불법적 인 선택의 경우 가장 가까운 법적 값 또는 이전 값으로 되돌리려면 DateTimePicker 컨트롤을 확장했습니다.

논리 확장은 경고 대화 상자 또는 레이블을 깜박이면서 사용자에게이를 알리는 것입니다.

컨트롤의 일정 표시 부분을 재정의하여 잘못된 옵션을 강조 표시/강조 표시 할 수도 있습니다. 예를 들어 현재 날짜와 현재 선택 항목이 이미 강조 표시되어 있습니다.

0

자신이 컨트롤을 확장하지 않고 있는지, 그리고 노력해야 할 소유자 드로잉인지 확신 할 수 없습니다.

기능을 찾을 수 없다면 ErrorProvider 컨트롤을 사용하고 사용자 입력을 옵션으로 확인하는 것이 좋습니다.

관련 문제