0

私の質問は奇妙に聞こえるかもしれませんが、2 つの Windows フォーム間の参照を作成する方法がわかりません (たとえば、参照を作成してそれを TheMainForm1 と呼ぶなど)。 ) 私がやろうとしているのは Form1 を非表示にすることですが、今まで見つけた唯一の方法は次のとおりです。

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

しかし、上記のコードは新しい Form1 を作成します...

リファレンスの作成方法を教えてください。C# を学ぼうとしています。

リプレイありがとうございます!

4

2 に答える 2

0

Form1のコンストラクターに渡して、メンバー変数に格納してみませんか?

public Form1(Form2 form2)
{
  // store in member
  _form2 = form2;
}
于 2012-07-20T10:25:03.000 に答える
0

この解決策を試すことができます:

クラスProgram.csを含むがあるはずです。Program2 つの静的プロパティ (またはフィールド) を追加して使用します。

static class Program
{
    internal static Form1 form1;
    internal static Form2 form2;

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        form1 = new Form1();
        form2 = new Form2();
        Application.Run(form1);
    }
}

Form1からに切り替えたい場合はForm2、これを使用できます。

this.Hide();
Program.form2.Show();
于 2012-07-20T10:29:46.880 に答える