0

「メイン」フォーム(form1)があります。そのフォーム内で別のフォーム(form2)を正常に開くことができますが、そのフォームが開いている場合でも、基になるフォーム(form1)を制御できます。

ユーザーがそうすることができないようにしたいのですが、ユーザーがそれをクリックしようとするたびに、ポップアップされたフォーム(form2)は、デフォルトのWindowsサウンドで、フォーカス/フラッシュを少し取得する必要があります。ポップアップウィンドウがFileSave/OpenDialogの場合の動作について説明しました。これらのダイアログは、私が望んでいるとおりに機能します。

設定してみましform2.Owner = form1;たが、思い通りの効果が得られませんでした。

だから私の質問は基本的に:フォーカスなどの同じ効果をどのように得ることができますか?フォーム上-Save/OpenDialog上でどのようになっていますか?

ありがとう、

〜Tgys

4

1 に答える 1

5

form2使用を開始するにはform2.ShowDialog()

form1クラスで

form2 form2Object = new form2();
form2.ShowDialog(this);

このようにして、form1はバックグラウンドに残り、form2が表示されるまでクリックできなくなります。必要に応じて、form2からダイアログ結果を返すこともできます。MSDNのコード。

  Form2 testDialog = new Form2();

   // Show testDialog as a modal dialog and determine if DialogResult = OK.
   if (testDialog.ShowDialog(this) == DialogResult.OK)
   {
      // Read the contents of testDialog's TextBox.
      this.txtResult.Text = testDialog.TextBox1.Text;
   }
   else
   {
      this.txtResult.Text = "Cancelled";
   }
于 2012-05-28T08:00:22.250 に答える