我对编程的新手经历了一些教程和示例项目,然后开始用一些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();
}
}
答案 0 :(得分:0)
如果您有主窗口的表单(我们称之为MainForm), 你可以这样做:
MainForm mainForm = new MainForm();
mainForm.Show();
然后会出现主窗口。 要关闭登录表单,您可以执行
this.Hide();
由于关闭运行应用程序的表单会关闭整个应用程序。
答案 1 :(得分:0)
您可以尝试以下代码点击“开始”按钮。我添加了一个检查用户名的方法,因为看起来向下一个表单发送无效的用户名只是浪费时间。您必须调整此方法以检查有效用户。希望这是你正在寻找的。 p>
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;
}