2016-12-14 3 views
0
namespace Pong 
{ 
    public partial class Menu : Form 
    { 
     public Menu() 
     { 
      InitializeComponent(); 
     } 

     private void pictureBox1_Click(object sender, EventArgs e) 
     { 

     } 

     private void PlayButton_Click(object sender, EventArgs e) 
     { 
      PongForm form = new PongForm(); 
      PongForm.Show(); 
      this.Close(); 
     } 

     private void ExitButton_Click(object sender, EventArgs e) 
     { 
      this.Close(); 
     } 
    } 
} 

누군가 내가 왜 오류가 발생하는지 설명 할 수 있습니까? 나는 온라인에서 한 번 봐 왔으며 제대로 작동해야한다고 생각합니다. 버튼 클릭시 새 양식으로 변경하려고합니다.비 정적 필드에 객체 참조가 필요합니다.

답변

0

변경 "PongForm.Show();" . form.Show "에() 를 eloborate하려면 사용자가 만든 인스턴스 클래스가 아닌 전화를 시도하는

1

을이 함수에서 당신이 form하지 PongForm 참조해야합니다.

private void PlayButton_Click(object sender, EventArgs e) 
{ 
    PongForm form = new PongForm(); 
    form.Show(); 
    this.Close(); 
} 
+0

를 오류는 이제 사라하지만 새 양식은 현재 양식을 닫는 것을 보여주지 않습니다. – RossP28

0

에 그냥 내가 언급 캔트. 다른 사람이 말한. 당신은 아마 열린 같은 형태의 복수를 원하지 않는 추가하거나 내가 대신 할 것이다. 희망이 당신의 문제를 해결합니다.

if (Application.OpenForms["PongForm"] != null) { Application.OpenForms["PongForm"].WindowState = FormWindowState.Normal; Application.OpenForms["PongForm"].BringToFront(); } else { PongForm form = new PongForm(); form.Show(); }