-1

私は2つのフォームを持っています Form1 メインフォーム Form2 サブフォーム form2 を開いたときに form1 を非表示にしたい <- メイン そして form2 を閉じたときに form1 を表示したい

私は試した

Form1 mform = new Form1();
mform.Show();

しかし、隠された形ではなく、開かれた新しい形

見つかった解決策

フォーム 2 で

Form Main;
public Form2(Form MainForm)
{
    Main = MainForm;
    InitializeComponent();
}

フォーム 1

Form2 SubForm = new Form2(this);
SubForm.Show();
this.Hide();

したがって、Main.Show(); によって form2 から非表示の form1 を表示できます。

4

4 に答える 4

0

参照を保持する必要はありません。子フォームで次のコードを使用します

if (this.ParentForm != null)
this.ParentForm.Show();
于 2012-06-14T10:52:21.903 に答える
0

新しい From を作成する代わりに、Form2 の Main フォームへの参照を保持する必要があります。

Form2 には、次のような Form1 への参照を保持するプロパティが必要です。

public Form MainForm { get; set; }
于 2012-06-14T10:47:37.983 に答える
0

メイン フォームの参照を Form1 に渡し、後でアクセスできるように保持するだけです。

Form1 mform = new Form1(MainForm mform);
mform.Show();
于 2012-06-14T10:47:39.300 に答える
0

新しいサブフォーム FORM2 を開くときは、 を使用してメイン フォームを非表示にし、新しいフォームを表示するだけform1.Hide()ですForm2.Show()

サブフォームを閉じるときは、form1.Show().

これを実装するには、メインフォームの参照が必要です。

于 2012-06-14T10:49:51.103 に答える