VB.NET2005です。
MonthCalendarでENTERキーをクリックした場合(KeyDownイベント)に
SelectionStartプロパティの日付を別のテキストボックスへ転記+
テキストボックスにフォーカス移動…といった処理を行っています。
またマウス(DateSelectedイベント)でも同様の処理を行っています。
マウス(DateSelectedイベント)でMonthCalendarを抜けた場合は
問題なしなのですが、ENTERキー(KeyDownイベント)で抜けた場合にだけ
元のMonthCalendarに戻った際にマウスで日付を選択(DateSelected
イベントするとSelectionStartプロパティが元の(戻った時の)日付に
戻ってしまい、新しく選択した日付が正しく認識されません。
DateSelectedイベントで抜けないと以後の処理に影響があるのでしょうか。
現在はKeyDownイベントでDateSelectedイベントと同じ処理を
記述していますが、KeyDownイベントでDateSelectedイベント自体を
強制的に実行させる(OnDateSelected?)等すればよいのかもしれませんが
方法が分かりません。
もしくはMonthCalendarの処理をリセットさせるような処理はありませんか?
アドバイスをお願い致します。
何卒よろしくお願い申し上げます。
自己レスです。
何度やってもうまく行かなかったので
MonthCalendarのみを貼り付けた別フォームをオープン、クローズ
することで目的は達成しました。
ということで腑に落ちませんが、解決とします。
ありがとうございました。
ツイート | ![]() |