C# Форма меню игры (Имя пользователя, Пуск, Выход)
Я новичок в программировании, прошел несколько уроков и примеров проектов, а затем начал создавать свою собственную текстовую приключенческую игру с некоторым пользовательским интерфейсом.
Итак, чего бы я хотел добиться в начале моего проекта, так это того, когда пользователь запускает 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 ответа
Вы можете попробовать код ниже для нажатия кнопки "Пуск". Я добавил метод проверки имени пользователя, так как кажется, что отправка неверного имени пользователя в следующую форму - просто трата времени. Вам нужно будет настроить этот метод, чтобы проверить действительных пользователей. Надеюсь, это то, что вы ищете.
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();
Поскольку закрытие формы, из которой запускается приложение, закроет все приложение.