3

Winforms2.0。DateTimePickerをフォームに貼り付けます。デフォルトはTODAYです。ドロップダウン矢印をクリックしてカレンダーを表示し、[今日]をクリックします。ValueChangedイベントは、すでに今日に設定されていますが、FIREを実行します。

私がやりたいのは、これと同じ機能を複製することです-それを(コードで)今日にリセットしたいと思います。次にカレンダーを介して今日をクリックしたときに、ValueChangedイベントを(最初のときと同じように)発生させたいです)。

上記が不可能な場合は、カレンダーで日付を選択するたびに常に発生するイベントが必要です(変更があるかどうかに関係なく)。

本当に単純に聞こえます、確かに誰かが答えを持っていますか?

4

2 に答える 2

6

表示されているのは、DateTimePickerがその値の時間コンポーネントと日付を格納するという事実の副作用です。

したがって、フォームが最初に初期化されるとき、DateTimePickerはDateTime.Nowで初期化されています。次に、ドロップダウンカレンダーから[今日]を選択すると、値がDateTime.Todayに変更されます。

時間コンポーネントを気にしない場合や、値を常にdateTimePicker1.Value.Dateとして読み取っている場合は、コードでDateTime.Nowを使用してコントロールを初期化できます。ユーザーが[今日]を選択すると、ValueChangedイベントが発生します。カレンダーから。それ以外の場合は、カレンダーコントロールが閉じられるたびに発生するCloseUpイベントをキャッチすることを検討してください(値が変更されたかどうかに関係なく)。

于 2009-10-12T02:07:00.107 に答える
0

私は勝利フォームプログラマーではありませんが、Day_Renderイベントがあるかどうかを確認してください。それは毎日発生するはずです...少なくともWebベースの開発用のものがありますが、それは同じだと思います。したがって、Render()イベントを探します。

于 2009-10-12T01:59:31.147 に答える