문제

DateTimePicker의 MaxDate 및 Mindate 속성을 설정했습니다. 그러나 런타임에 컨트롤을 테스트 할 때 유효한 날짜로부터 유효하지 않은 날짜를 알 수있는 방법이 없습니다. 유일한 차이점은 유효하지 않은 날짜를 클릭하면 아무것도하지 않는다는 것입니다.

이것은 사용자에게 그다지 직관적이지 않습니다. 나는 유효한 날짜가 무엇인지 한 눈에 말할 수 있기를 원합니다.

유효한 날짜 범위를 강조하는 방법이 있습니까? 아니면 더 적절한 다른 통제가 있습니까? 나는 몇 개의 콤보 상자가 작동 할 것이라고 확신하지만, 데이트를 요청할 때 사용자에게 캘린더 컨트롤이 제시되어야한다고 생각합니다.

컨텍스트 : 이것은 Winforms 차트 응용 프로그램입니다. 유효한 데이터의 범위가 수정되었습니다 (새로운 데이터는 다른 프로세스를 통해 추가됩니다). 사용자는 차트의 시작 시간 (개별적으로 처리되는 지속 시간)의 날짜와 시간을 선택해야합니다.

도움이 되었습니까?

해결책

비슷한 문제가 있습니다. DateTimePicker 컨트롤을 확장하여 값이 변경 될 때마다 검증 프로세스를 실행하고 불법 선택의 경우 이전 값 또는 가장 가까운 법적 값으로 되돌릴 수 있습니다.

이에 대한 논리적 확장은 경고 대화 상자 나 레이블을 플래시하여 사용자에게 이런 일이 발생했음을 알리는 것입니다.

또한 컨트롤의 캘린더 디스플레이 부분을 무효화하여 유효하지 않은 옵션을 강조/낮은 조명 할 수 있습니다. 예를 들어 현재 현재와 현재 선택을 강조 표시합니다.

다른 팁

제어를 직접 확장하지 않고 노력할 수있는 소유자 그림이 있는지 확실하지 않습니다.

이후 기능을 찾을 수없는 경우, 오류 전문가 컨트롤을 사용하고 사용자 입력을 옵션으로 검증하는 것을 고려할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top