6

私は2つのフォームを持っています。ボタンで 2 番目のフォームを開く必要があります。form2 を開くと、form1 が非表示になります。ただし、ボタンを使用して form2 から form1 を再度表示しようとすると、機能しません。私のform1コードは次のとおりです。

Form2 form2 = new Form2();        
form2.ShowDialog();

form2 コード内:

Form1.ActiveForm.ShowDialog();

また

Form1.ActiveForm.Show();

また

form1.show(); (form1 doesn't exist in the current context)

動作しません。新しいフォームを開きたくない

Form1 form1 = new Form1();   
form1.ShowDialog();

前に隠していたフォームを表示したい。または、タスクバーに最小化することもできます

this.WindowState = FormWindowState.Minimized;

form2から再度最大化します。

Form2.ActiveForm.WindowState = FormWindowState.Maximized;

しかし、私が試みている方法は再びうまくいきません。これらの方法の何が問題になっていますか?

4

4 に答える 4

8

あなたは試すことができます(Form1ボタンのクリックで)

Hide();
Form2 form2 = new Form2();        
form2.ShowDialog();
form2 = null;
Show();

または(動作するはずです)

Hide();
using (Form2 form2 = new Form2())       
    form2.ShowDialog();
Show();
于 2012-11-05T13:51:52.227 に答える
2

のインスタンスを保持し、またはForm1に使用します。ShowHide

于 2012-11-05T13:53:14.017 に答える
1

次のように form2 を表示すると、Owner プロパティを介して Form2 から Form1 にアクセスできます。

form2.ShowDialog( form1 )

またはこのように:

 form2.Show( form1 )

このように、ShowDialog の使用を強制されないことに注意してください。非表示および表示ロジックを Form2 内に移動できます。

于 2014-07-24T12:08:24.523 に答える