2016-12-14 4 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(); }