Google
 
Web itpro-blogger.blogspot.com
土曜日, 10月 18, 2008

[VB2005]MonthCalendarのDateChangedイベントが周期的に発生する

▼質問
MonthCalendarでDateChangedイベントが周期的に発生するんだ。

これはどうしてなんだ?

▼回答
参考サイトより

カレンダーの本日を更新するために約2分間隔でマシン日付をチェックするために発生している
イベントに同期しているらしい。これは、MonthCalendarコントロールのバグらしい。

ユーザが明示的に操作した時にだけイベントを発生させたいなら、DateChangedではなく、DateSelectedイベントを使えばよいようだ。

確かに、DateSelectedイベントを使えば問題ないことがわかった。

DateChangedイベントとDateSelectedイベントの違いは何なんだ?と思って説明を並べてみた。

MonthCalendar.DateChanged イベント
MonthCalendar で選択された日付が変更された場合に発生します。

MonthCalendar.DateSelected イベント
ユーザーがマウスを使用して明示的に日付を選択した場合に発生します。

これを読む限り、通常操作の場合はDateSelected イベントを使えばよいことになるな!

DateChanged イベントを使うのはどんな時なのかと考えてみると、選択された特定の日に

何かをしたい時のイベント処理が考えられるのかな?!

よく考えると、単純に選択(操作)と変更(動作)の違いか!!

■参考サイト
MonthCalendar で予期せぬ DateChanged イベントが発生する
http://blogs.wankuma.com/jeanne/archive/2005/09/02/18244.aspx
DataGridViewの年月日項目に今日の日付が自動設定される?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=41347&forum=7






Comments: コメントを投稿

<< Home

This page is powered by Blogger. Isn't yours?