2017-09-22 9 views
-3

Visual C#でメニューのstriptから2番目のフォームを開くときに問題があります。 Form2.Show()という行を試してみます。それは動作しません。Visual C#で他のフォームウィンドウを開くことができません

namespace Noggy_Shield 

{パブリック部分クラスをForm1:フォーム {公共のForm1(){ のInitializeComponent(); }

private void buscarActualizacionesToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     System.Diagnostics.Process.Start("https://ultscargot.blogspot.com.br/p/noggy-shield.html"); 
    } 

    private void acercaDeToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     Form2.Show(); // This appears underlined in red 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     radioButton1.Checked = true; 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     if (radioButton1.Checked == true) 
     { 
      System.Diagnostics.Process.Start("https://sitecheck.sucuri.net/results/" + textBox1.Text); 
     } 
     else 
     { 
      System.Diagnostics.Process.Start("http://www.urlvoid.com/scan/" + textBox1.Text); 
     } 
    } 
} 

}

+1

コードを投稿してください –

+0

「うまくいかない」* how *正確に?フォームインスタンスで '.Show()'を呼び出すのは、そのフォームをどのように表示するかです。 – David

+0

@Cyber​​Progs ここにあります: https://pastebin.com/H9jbrqrm – Maigol

答えて

2

これは静的方法として.Show()を呼び出そうとしている:

Form2.Show(); 

しかし、それはインスタンスメソッドです。最初にオブジェクトのインスタンスを作成し、次にインスタンスを表示するを表示します。次のようなものがあります。

var form2 = new Form2(); 
form2.Show(); 

別のよくある間違いは、後で別のインスタンスと対話しようとすることです。それぞれのインスタンスは区別されます。したがって、あるインスタンスを表示して後で別のインスタンスを作成して値を取得しようとすると、それは機能しません。作成され表示されたform2インスタンスと対話する必要があります。

関連する問題