2009-03-10 18 views
1

VB.NET Winformsアプリケーションを実行すると、他の開いているアプリケーションからフォーカスを奪ってもらいたくありません。参考までに、私のアプリはコマンドラインから起動しますが、違いはありません。私は質問577076を見ましたが、それはうまくいかないようです。フォームからフォーカスを奪うのを防ぐ

これを行うにはどのような方法が最適ですか?

答えて

4

は、私はこの作業を取得するためにやったことです:

私はForm1.vbファイルに次のコードを追加しました:

Protected Overloads Overrides ReadOnly Property ShowWithoutActivation() As Boolean 
    Get 
     Return True 
    End Get 
End Property 

しかし、まだありません成功。

次に、プロジェクトプロパティの[アプリケーション]タブで[アプリケーションフレームワークを有効にする]チェックボックスをオフにしました。

成功!!!

+0

ここにShowWithoutActivation()の記事があります http://msdn.microsoft.com/en-us/library/system.windows.forms.showwithoutactivation.aspx – Achilles

0

リンクした例では、一部の定数はメソッドのスコープ外で宣言されています。ここではあなたのために働く必要があります別のバージョンがある:

protected CreateParams CreateParams { 
    get { 
    CreateParams baseParams = base.CreateParams; 
    const int WS_EX_NOACTIVATE = 0x08000000; 
    const int WS_EX_TOOLWINDOW = 0x00000080;  
    baseParams.ExStyle |= (int) (WS_EX_NOACTIVATE | WS_EX_TOOLWINDOW); 
    return baseParams; 
    } 
} 
... 

あなたはしかしVB.Netにそれを翻訳する必要があるつもりだ...ここ

+0

ありがとうございました。私の元の質問にはお答えしましたが、依然としてフォームがフォーカスを奪うのを防ぐためには機能しませんでした。私はそれをもっと明確にするために私の質問を編集しました。 – JapNolt

関連する問題