VB.NET Winformsアプリケーションを実行すると、他の開いているアプリケーションからフォーカスを奪ってもらいたくありません。参考までに、私のアプリはコマンドラインから起動しますが、違いはありません。私は質問577076を見ましたが、それはうまくいかないようです。フォームからフォーカスを奪うのを防ぐ
これを行うにはどのような方法が最適ですか?
VB.NET Winformsアプリケーションを実行すると、他の開いているアプリケーションからフォーカスを奪ってもらいたくありません。参考までに、私のアプリはコマンドラインから起動しますが、違いはありません。私は質問577076を見ましたが、それはうまくいかないようです。フォームからフォーカスを奪うのを防ぐ
これを行うにはどのような方法が最適ですか?
は、私はこの作業を取得するためにやったことです:
私はForm1.vbファイルに次のコードを追加しました:
Protected Overloads Overrides ReadOnly Property ShowWithoutActivation() As Boolean
Get
Return True
End Get
End Property
しかし、まだありません成功。
次に、プロジェクトプロパティの[アプリケーション]タブで[アプリケーションフレームワークを有効にする]チェックボックスをオフにしました。
成功!!!
リンクした例では、一部の定数はメソッドのスコープ外で宣言されています。ここではあなたのために働く必要があります別のバージョンがある:
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にそれを翻訳する必要があるつもりだ...ここ
ありがとうございました。私の元の質問にはお答えしましたが、依然としてフォームがフォーカスを奪うのを防ぐためには機能しませんでした。私はそれをもっと明確にするために私の質問を編集しました。 – JapNolt
ここにShowWithoutActivation()の記事があります http://msdn.microsoft.com/en-us/library/system.windows.forms.showwithoutactivation.aspx – Achilles