如何使用Form.ShowDialog();正确使用program.cs

本文关键字:program cs Form 何使用 ShowDialog | 更新日期: 2023-09-27 18:03:55

我正在尝试使winform打开Xna表单。在网上寻找我发现的最好的方法是首先通过program.cs打开表单,然后放入一个if语句来检查您是否点击了winform上的开始按钮,这将给出dialog sult。好的。我知道我需要使用ShowDialog启动表单,但是我用当前的代码得到了两个表单。它打开一个,我关闭它,它打开另一个窗体,当你关闭它,你得到Xna窗体。有什么建议吗?下面是我的代码:

     static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    static void Main(string[] args)
    {
      using(Form1 form = new Form1())
      {
          form.ShowDialog();
          if(form.ShowDialog() == DialogResult.OK)
          {
              using (Game1 game = new Game1())
              {
                  game.Run();
              }
          }
          }
      }
    }

这是我的按钮代码:

           private void button1_Click(object sender, EventArgs e)
    {
        compotents comps = new compotents();
      comps.mass =   textBox1.Text;
      comps.velocity = textBox2.Text;
      comps.gravity = textBox3.Text;
      button1.DialogResult = DialogResult.OK;
      this.Close();
    }

(组件是我用来存储变量并在xna形式中使用它们的类)

如何使用Form.ShowDialog();正确使用program.cs

表单显示两次,因为您调用了ShowDialog两次,但没有对第一次调用的结果做任何事情。改变:

  using(Form1 form = new Form1())
  {
      if(form.ShowDialog() == DialogResult.OK)
      {
          using (Game1 game = new Game1())
          {
              game.Run();
          }
      }
  }