WindowsフォームのDateTimePickerコントロールで非常に特定のバグが発生しました。このコントロールには、カスタムフォーマット(MM-YYYY - > 01/2010) - クレジットカードの月/年があります。今日は9月29日です。ユーザーがコントロールを選択し、キーボードを使用して2月に月を設定すると、コントロールはArgumentOutOfRangeExceptionをスローします。 2009年2月29日の日付はありません。これは31日目の日にも起こり、30日しかない月に移動します。それは「01」に設定することで、一日にこれを処理するのに十分に簡単だろうWindowsフォームのdatetimepicker ArgumentOutOfRangeExceptionはどのように処理できますか?
、しかし、ユーザーが手動で30日を選択するにはカレンダーをクリックして、2月を選択するために、キーボードを使用することができます。入力は、コード内で実際にGUIで起こっとされていない場合
はどのようにこの例外は、キャッチすることができますか?私たちはTextChangedイベントでそれをキャッチしようとしましたが、それはすでに遅すぎます。例外はすでにスローされています。
このケースを処理する方法はありますか?コントロールがその日の最高値に自動的に変更された場合は、いいでしょう。少なくとも、イベントを介して例外を受けた場合。
(私たちはトラップKeyPressedイベントをできたと01日にそれぞれの時間を設定することを承知しているが、これは「ハック」感じています)。コントロールは、カレンダーのドロップダウンではなく、スピナーになるように
私は、その日がユーザーに表示されたときに起こるかどうかをテストしました。だから間違ったコントロールが使用中です。しかし、質問をする私の目的は、同様の方法で発生した例外を処理することが可能かどうかを調べることでした。コントロールのUIインタラクションから例外が生成された場合。 –