2012-04-10 11 views
0

C#で別のフォームをトップにする方法は?フォームを別のフォームに上へ移動するには?

+1

使用しているコードを投稿できますか? –

+1

"私は変更を見ることができません"。正確に何を見たいと思いますか?これはどこで "ショー"に変わるべきですか? – Oded

+3

私はForm2がForm1にモーダルとしてオープンしている可能性が高いと考えています。その場合、TopMostを変更すると効果がありません。 –

答えて

1

をcheckbox.Checkedし、イベントにOKをクリックしますFORM FORM 1

で2

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

となりました

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 
} 
0

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

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

一般的に、ユーザーが表示されているウィンドウが表示されている場合を除き、「TopMost」は使用しないでください。通常、BringToFront()メソッドなど、あなたが望むものを達成するための他の方法があります。

0

Form2のchakboxの修飾子をpublicに変更すると、チェックボックスにアクセスできるようになります。あなたはしてダイアログ結果を設定することができるよりも

あなたはform2.ShowDialog()を使用している場合は、あなたが2

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

フォームでこれを入れ

関連する問題