2

MainForm は正常に開きますが、2 番目のフォームを開く方法がわかりません。一度に 1 つしか開くことができないとどこかで読みましたか? いずれにせよ、最初に 2 番目のフォームを開き、その後メインフォームを開きたいと考えています。

私が直面している問題は、その InitializeComponent(); です。接続されているフォーム以外のフォームからはアクセスできません(私が知る限り)。

私はまだ学習段階にあり、私の検索スキルは何の役にも立たないので、私が何をすべきかについてのアイデアは素晴らしいでしょう.

4

5 に答える 5

2

You should create an instance of a form and then open it:

Form1 form = new Form1();
form.Show();
于 2013-09-04T06:21:30.323 に答える
2

これを試してください:

static class Program
     {
        [STAThread]
          static void Main()
            {
              Application.EnableVisualStyles();
              Application.SetCompatibleTextRenderingDefault(false);

              var thread = new Thread(ThreadStart);
              thread.TrySetApartmentState(ApartmentState.STA); 
              thread.Start(); 

              Application.Run(new Form1());
            }

            private static void ThreadStart()
            {
              Application.Run(new Form2());
            }
     }
于 2013-09-04T06:23:32.823 に答える
0

Form1.cs で次のコードを使用できます。

Form2 tempForm = new Form2();
this.AddOwnedForm(tempForm);
tempForm.Show();
于 2013-09-04T06:26:09.103 に答える