【.NET】アクティブなウィンドウ(フォーム)の設定・取得ツイートVB.NETや、C#でのアクティブウィンドウ(フォーム)の取得や、設定の方法や非アクティブでウィンドウを表示させる方法をまとめました。アプリケーションでアクティブなフォームを取得VB.NETやC#で、現在アクティブなフォームを取得する場合は、Formの静的プロパティであるForm.ActiveFormを使用します。ほかのアプリケーションがアクティブになっている場合は、VBではNothingが、C#ではnullが返ります。MessageBox.Show(f.Text);}アクティブなMDI子フォームを取得MDIのアクティブな子ウィンドウを取得したい場合は、MDIの親フォームのActiveMdiChildプロパティを使用します。アクティブな子フォームが存在しない場合は、VBではNothingが、C#ではnullが返ります。MessageBox.Show(f.Text);}フォームをアクティブにする任意のフォームをアクティブ化するには、FormのActivate()メソッドを使います。'VB.NETのサンプル'Meがアクティブにしたいフォームの場合Me.Activate()//C#のサンプル//thisがアクティブにしたいフォームの場合this.Activate();アクティブにしないでフォームを表示させるFormのShowWithoutActivationプロパティでtrueを返すようにすると、そのフォームを表示させてもアクティブになりません。ShowWithoutActivationは、読み取り専用のメンバであるため、オーバーライドして戻り値を書き換える必要があります。2.0以降でしか使えません。'フォームのコード(Formを継承したクラス)内で以下のように書きます。From1'f.Show()'というように表示させてもアクティブになりません。//フォームのコード(Formを継承したクラス)内で以下のように書きます。Form1();//f.Show();//というように表示させてもアクティブになりません。1.1以前では、このプロパティはありません。APIのSetWindowPos関数を第7引数にSWP_NOACTIVATEというフラグを指定してウィンドウを表示させることで同様のことを実現できます。ありがとうございます。