非静态字段

时间:2016-12-14 21:45:46

标签: c# forms pong

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();
        }
    }
}

有人可以解释我收到错误的原因吗?我已经在网上看了一下,认为它应该有效。我试图在点击按钮时更改为新表单。

3 个答案:

答案 0 :(得分:1)

在此功能中,您应该引用form,而不是PongForm

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

答案 1 :(得分:0)

更改“PongForm.Show();”到“form.Show()。 详细说明:您试图调用该类,而不是您创建的实例。

答案 2 :(得分:0)

只是添加其他人说的话。你可能不希望打开多个相同的表格。我不能发表评论,或者我会这样做。希望这能解决你的问题。

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