- - PR -
[VB.NET]タスクバーのボタンがクリックされたことを取得する
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-11-16 12:27
フォームの最小化ボタンを押下すると、最小化されますが、
その状態でタスクバーにあるアプリケーションのボタンをクリックしたとき、クリックされたことを取得するイベント等はあるんでしょうか? Formイベントを一通り確認してみたんですが、それらしいものが見つかりませんでした。 どなたかご存知の方がおられましたら、ご教授ください。 | ||||||||
|
投稿日時: 2005-11-16 12:51
「タスクバーボタンのクリック」に対応するイベントは無いです。 アプリの仕様にもよりますが、通常、結果的には Form がアクティベイトされるので、Form.Activated イベント辺りで代用できませんか? | ||||||||
|
投稿日時: 2005-11-16 12:58
渋木宏明(ひどり)さん、ありがとうございます。
実は、そのフォーム上にはタイマー処理があるもので、 数分おきにフォームのActivatedイベントを呼び出して、その中でデータを表示するなどの処理を行っています。 タスクバーのボタンをクリックすると、全画面表示になるようにしたいんですが、 そのコードをActivated内で書いてしまうと、 最小化した状態であっても、数分おきに表示データを更新すると共に、全画面表示されてしまうんです。 他にタスクバーのボタンをクリックすると、全画面表示になるような方法はありますでしょうか? やはり、Activated内にデータ表示を更新するコードがあるのがまずいんでしょうか? | ||||||||
|
投稿日時: 2005-11-16 13:05
resizeイベントで、ウィンドウ状態を見るとか。
| ||||||||
|
投稿日時: 2005-11-16 13:07
概念的に Activated イベントではないですよね? それに、Activated は Deactive から復帰した際にも起こります。 非常にまずかろうと思います。 別のメソッドかイベントを定義して呼び出しましょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-11-16 13:09
難しそうですねぇ。
アプリの細かい仕様が分かりませんが、「表示更新」だけが目的で Activeate はしないですね。 タイマを仕掛けているなら、単にタイマハンドラの中で表示更新すればいいんじゃないかと。 更新した情報を、ウィンドウを最前面に出してユーザに見せ付けたいなら、表示更新後にウィンドウを Activate する、ってシナリオはありなのかもしれませんが、個人的にはちょっとうるさくてイヤかなぁ。。。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# [ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2005-11-16 13:13 ] |
1