プロが教えるわが家の防犯対策術!

長文で大変申し訳ございません。

form1でボタンを押してしばらくするとform2が表示されるようなツールを作っています。

form1のボタンを押した後の「しばらく」というのは1~60分の間でランダムで、
表示されるform2の数も決まっていない状態です。
よって、他の作業をしながらform2が表示されるのを待つということを想定しています。
ですので、いちいちform2が表示されるたびにフォーカスがform2にとられて
作業が中断するのはNGなので、form2は非アクティブ状態で表示したいと考えています。
(メッセンジャーでよくある右下のポップアップのようなイメージです)

が、現在上手くいっておりません。
他で「ShowWindow(Me.Handle, 4)」とやっていたのをみて、showに書いてみましたが、
上手くいきませんでした。
どこでアクティブになるのかみたところ、newの直後で既にforcusedがtrueになっており、
これが原因ではないかと思っております。

以下のサンプルを見てみましたが、これは事前に表示するフォームをnewしており、
同じようにはできないのが現状です。
http://www.codeproject.com/KB/miscctrl/taskbarno …

formをnewする時に非アクティブにする方法はあるのでしょうか。
また代替案等ございましたら、ご教授の程、宜しくお願いいたします。

(VB2010, FW2.0:元々2008で作っていたものであるため)

A 回答 (2件)

Protected Overrides ReadOnly Property ShowWithoutActivation() As Boolean


Get
Return True
End Get
End Property

ShowWithoutActivationをオーバーライドさせ、Trueを与えるとshowされた時に
アクティブになるのを忘れてくれます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

form2に上記ソースを入れてみましたが、だめでした。
「Return True」にブレークポイントをかけてみましたが、
ブレークしませんでした。

以下にある「TaskBarNotifier.vb」をform2として
使ってみましたが、同じく「Return True」に
ブレークをかけても、引っ掛かりませんでした。
http://www.codeproject.com/KB/miscctrl/taskbarno …

お礼日時:2010/12/16 21:05

タスクトレイを使用したアプリケーションなどはどうでしょうか?


Form2が表示されるタイミングでバルーンでメッセージを出すなど・・。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

バルーンでメッセージを出すことで、フォーカスがスティールされないということでしょうか。試していないのですが、バルーンの表示は不可とされてしまいました。

もしくは、form2の代替としてバルーンを使うということでしょうか。form2の仕様には制約がありバルーンでの代替は不可とされてしまいました。

お礼日時:2010/12/21 11:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!