C#游戏菜单表(用户名,开始,退出)

时间:2017-04-15 12:46:54

标签: c# screen username adventure

我对编程的新手经历了一些教程和示例项目,然后开始用一些UI创建我自己的基于文本的冒险游戏。

因此,我想在项目开始时实现的是,当用户启动exe时,我想用带有“开始”和“退出”按钮的用户名输入屏幕来问候它们,然后关闭该表单,推出一个新形式,我将把它放入游戏的主界面。

所以,当我点击"开始"按钮,它将从文本框中读取用户名,将其保存为字符串,关闭表单并使用游戏主界面中的名称屏幕启动新表单。

我的问题是,如何将下面代码中的开始按钮链接到新表单,同时关闭当前的AUJFM_Login表单,该表单也可以读取字符串用户名。

我尝试了一些东西,但经过几次尝试,我只是把它留给了按钮功能。它并不多,但这是它的基础:

问候语屏幕将被称为AUJFM_Login,主界面将被称为AUJFM。

namespace AUJFM
{
  public partial class AUJFM_Login : Form
  {
      public AUJFM_Login()
      {
          InitializeComponent();
      }

      private void btnStart_Click(object sender, EventArgs e)
      {
          string UserName = nameBox.Text;
      }

      private void btnExit_Click(object sender, EventArgs e)
      {
          Application.Exit();
      }
  }

2 个答案:

答案 0 :(得分:0)

如果您有主窗口的表单(我们称之为MainForm), 你可以这样做:

MainForm mainForm = new MainForm();
mainForm.Show();

然后会出现主窗口。 要关闭登录表单,您可以执行

this.Hide();

由于关闭运行应用程序的表单会关闭整个应用程序。

答案 1 :(得分:0)

您可以尝试以下代码点击“开始”按钮。我添加了一个检查用户名的方法,因为看起来向下一个表单发送无效的用户名只是浪费时间。您必须调整此方法以检查有效用户。希望这是你正在寻找的。

private void btnStart_Click(object sender, EventArgs e) {
  string userName = nameBox.Text;
  if (ValidUserName(userName)) {
    SecondForm nextForm = new SecondForm(userName);
    nextForm.Show();
    this.Hide();
  } else {
    // user name not valid
  }
}

private bool ValidUserName(String userName) {
  // logic to check if user name is valid
  return true;
}

然后在第二个表单构造函数中,更改签名以接受用户名字符串。

public SecondForm(string userName) {
  InitializeComponent();
  textBox1.Text = userName;
}