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();

Поскольку закрытие формы, из которой запускается приложение, закроет все приложение.

Другие вопросы по тегам