3

私は自分のニーズに合わせて C# を書き直しDateTimePicker (nullable)ていますが、ピッキング time からのアップダウン イベントの検出に行き詰まってい(HH:mm, DateTimePicker.ShowUpDown = true)ます。

OnValueChanged上または下のボタンが押されたときに が起動されることは認識していますが、すでにいくつかの処理が行われています (DateTimePicker に数値が入力されると、自動的に次のフィールドに移動します)。そのため、ValueChanged をブロックする必要があります。これらのボタンが押されたときのイベントを別の関数で処理します。

WndProc 関数をオーバーライドしようとしていますが、WndProc の前に OnValueChanged が呼び出されます。OnKeyDown も OnValueChanged の後に呼び出されます。

何か案は?

4

2 に答える 2

0

の値が変更されValueChangedたときに、イベントをブロックしないでください。DateTimePickerまた、上下ボタンはDateTimePicker値の変更に使用されるため、それらを押すとValueChangedイベントが発生します。

このイベントの現在の処理を変更することを検討してください。

ところで、値が変更されたときに次のフィールドに移動するのはなぜですか? コントロールに適切な値を割り当てTabIndex、ユーザーがTabボタンを使用して次のフィールドに移動できるようにするだけです。これは、ナビゲーションの一般的なアプローチです。

于 2012-10-29T12:34:01.313 に答える
0

OnDropDownドロップダウンカレンダーが要求されるたびに発生するオーバーライドを試すことができます。

于 2012-10-29T12:26:33.977 に答える