C# 游戏菜单窗体(用户名、开始、退出)



我是编程新手,经历了一些教程和示例项目,然后开始使用一些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();
}
}

您可以尝试下面的代码单击"开始"按钮。我添加了一种检查用户名的方法,因为似乎将无效的用户名发送到下一个表单只是浪费时间。您必须调整此方法以检查有效用户。希望这就是你要找的。

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

如果你有一个主窗口的窗体(我们称之为 MainForm), 你可以做:

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

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

this.Hide();

因为关闭运行应用程序的表单将关闭整个应用程序。

最新更新