0

C#で1つのフォームを別のフォームに追加するにはどうすればよいですか?

4

3 に答える 3

1

これをフォーム2に入れます

 public delegate void CheckedEventHandler(bool val);
 public event CheckedEventHandler Checked;

イベントの場合フォーム2で[OK]をクリックします

if (Checked != null) 
    Checked(yourvalue); // bool value

そして今FORM1で

using (Form2 form = new Form2())
{
form.Checked += form2_Checked;
form.ShowDialog();
form.Checked -= form2_Checked;
}

void form2_Checked(bool val)
{
// do whatever you want with your value (form FORM2) set TopMost 
}
于 2012-04-10T14:38:41.647 に答える
0

フォーム1がすでに「最上位」にある場合、「TopMost」プロパティを設定しても何も変更されません。

また、デフォルトでは、フォームは作成された他のフォームを「所有」し、それらによってShow()nを実行します。したがって、Form 1がForm2を作成して表示し、[OK]をクリックしてもForm2が閉じられない場合、Form1はTopMostに設定されますが、Form2を所有しているため、定義上、「所有されている」フォームは常に所有者の上に、Form2は引き続きForm1の上に表示されます。

一般に、他に何が起こっているかに関係なく、ユーザーが表示しなければならないウィンドウを表示している場合を除いて、「TopMost」を使用しないでください。通常、必要なことを実行する他の方法があります(BringToFront()メソッドなど)。

于 2012-04-10T14:34:13.213 に答える
0

Form2のchakboxの修飾子(プロパティ内)をpublicに変更し、チェックボックスにアクセスできるようにすることができます。

フォーム2.ShowDialog()を使用している場合は、チェックボックスでダイアログ結果を設定できます。チェック済み

于 2012-04-10T14:38:01.263 に答える