О закрытии формы во время выполнения в C#

У меня есть две формы названы frmRegistration & frmMain в моем проекте в C#.

Я поставил frmRegistration как моя стартовая форма.
Пользователь вводит данные в frmRegistration Заполните форму и нажмите кнопку для регистрации. Затем я хочу закрыть frmRegistration форма и шоу frmMain Форма для пользователя.
Я пытаюсь это с помощью Dispose() метод frmRegistration, Но когда я использую этот метод, он избавляется от выполнения всех моих приложений, потому что frmRegistration это форма запуска

Я не хочу, чтобы это случилось. Кто-нибудь может решить эту проблему?

Благодарю.

4 ответа

Решение

Использование Show() а также Hide() методы.

    private void btnSubmit_Click(object sender, EventArgs e)
    {
      ...
      var frm = new frmMain();
      frm.Location = this.Location;
      frm.StartPosition = FormStartPosition.Manual;
      frm.Show();
      this.Hide();
    }  

ОБНОВИТЬ:
Если вы не хотите иметь frmRegistration в памяти, запустите вашу программу в основной форме и добавьте ее в свой MainForm Shown событие:

    var frm = new frmRegistration();
    frm.Location = this.Location;
    frm.StartPosition = FormStartPosition.Manual;
    frm.FormClosing += delegate { this.Show(); };
    frm.Show();
    this.Hide();  

Теперь вы можете просто закрыть регистрационную форму и автоматически вернуться в основную форму.

Попробуйте установить frmMain в качестве формы запуска и сначала скрыть ее, показать frmRegistration, сделать то, что вам нужно сделать, и утилизировать его.

Вы также можете изменить себя Program.cs основной класс с Main() функция для запуска frmRegistration и после положительного DialogResult или другая проверка потом начнется с frmMain - как ваша основная форма и цикл сообщений.

По крайней мере, есть два варианта: 1. Превратить вашу форму запуска в единый объект. Когда вам нужно его скрыть, вызовите его метод hide.

2.Иметь новую форму запуска, назовите ее формой MainApp или чем-то еще, установите ее как невидимую, и вы сможете делать что угодно с другими не запускающимися формами.

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