DOBON.NET DOBON.NETプログラミング掲示板過去ログ

カレンダーコントロールのフォーカス

環境/言語:[VB.NET WinXP]
分類:[.NET]

初めて質問させて頂きます。よろしくお願いします。

カレンダーコントロールで定期的にイベントが発生し、フォーカスが
アクティブなリストボックスからカレンダーコントロールに移り、
リストのselecteditemsが分からなくなります。

カレンダーコントロールに定期的にイベントが発生しないようにするには
どうすれば良いでしょうか。ちなみに初心者です。
■No14574に返信(aviさんの記事)
> カレンダーコントロールで定期的にイベントが発生し、フォーカスが
> アクティブなリストボックスからカレンダーコントロールに移り、
> リストのselecteditemsが分からなくなります。

これですね... (;_ _)

MonthCalendar で予期せぬ DateChanged イベントが発生する
http://blogs.wankuma.com/jeanne/archive/2005/09/02/18244.aspx


_________________________________________________________________________
じゃんぬ Microsoft MVP for Visual Developer - C#
  http://jeanne.wankuma.com/
  http://blogs.wankuma.com/jeanne/
■No14575に返信(じゃんぬねっとさんの記事)
> これですね... (;_ _)
>
> MonthCalendar で予期せぬ DateChanged イベントが発生する
> http://blogs.wankuma.com/jeanne/archive/2005/09/02/18244.aspx

> じゃんぬ Microsoft MVP for Visual Developer - C#

解決につながるレスはどこにも見つかりませんでした。

MonthCalendarを使わずにカレンダーを作るしかないのでしょうか。
とにかく、レスありがとうございました。
MonthCalendarでDateChangedイベントが定期的に発生することは確認できたのですが、フォーカスが移動することは私のところでは確認できませんでした。

調べてみたところ、MonthCalendarはMCN_SELCHANGEを受け取るとDateChangedイベントを発生させ、MCN_SELCHANGEは2分間隔で送られてくるようです。

DateRangeEventArgs.StartとEndが前と変わったかにより本当に変わったか確かめて、OnDateChangedをオーバーライドして本当に変わったときのみDateChangedイベントを発生させるというようなことはできると思いますが、フォーカスが移動するというのは、分かりません。
■No14602に返信(管理人さんの記事)
> MonthCalendarでDateChangedイベントが定期的に発生することは確認できたのですが、フォーカスが移動することは私のところでは確認できませんでした。

ありがとうございます。業務日誌+経費帳という感じの小さいアプリを作って
いるのですが、その中に2つのリストボックスがあります。その2つのリスト
ボックスの両方でそれぞれ一つのアイテムを選択し、2分間放置すると1つの
リストボックスだけDateChangedイベントの発生に合わせて選択状態が解除
され、もう一つの方は解除されないことにきづきました。

この「フォーカスの移動が確認できない」という言葉をヒントにイベントに
合わせて選択状態が解除されるコントロールのコードを見直してみようと思
います。

DOBON.NET | プログラミング道 | プログラミング掲示板