Создание нескольких форм с использованием форм Windows в C#?

Я хочу создать две формы: LoginForm и BaseForm.

LoginForm создается первым и содержит кнопки "Войти" и "Отмена". Когда пользователь нажимает кнопку "Войти", LoginForm должен быть закрыт, а BaseForm должен быть создан и открыт.

Когда пользователь нажимает кнопку "Отмена" в LoginForm, он должен закрыться.

Как мне это сделать? Кто-нибудь может дать мне хорошее решение для этого?

Решение:


В основном():

Application.EnableVisualStyles();
 Application.SetCompatibleTextRenderingDefault(false);
 LoginForm form=new LoginForm(); 
if(form.showDialog()==DialogResult.OK) 
{ 
form.close();
Application.Run(new BaseForm()); 
}
else
form.close();
}

4 ответа

Решение

В основной функции вашего приложения:

  1. Создать форму входа и использовать ShowDialog() чтобы показать это модально.
  2. Получить запрошенное действие из значения, возвращенного ShowDialog(),
  3. Если пользователь нажал кнопку "Отмена", вернитесь из основной формы и закройте приложение.
  4. В противном случае создайте основную форму и передайте ее Application.Run(),

Если вы сделаете это в таком порядке, то основная форма не будет отображаться до тех пор, пока ваш пользователь не завершит работу с формой входа.

У меня есть приложение, требующее входа в систему, и в методе инициализации я проверяю, вошел ли пользователь в систему. Если это не так, я открываю модальное окно с приглашением для входа. Если они отменяют это, я закрываю приложение.

Код для показа модальных:

 var login = new Login();
 login.ShowDialog();

Кнопка отмены входа в систему будет вызывать что-то вроде:

 Application.Exit();
private void buttonLogIn_Click(object sender, EventArgs e)
    {
        LoginForm loginForm = new LoginForm ();
        loginForm .Show();
        this.Hide();
    }



private void buttonCancel_Click(object sender, EventArgs e)
    {
        this.Close();
    }

Вы можете просто открыть основную форму, проверить, аутентифицирован ли пользователь. Затем покажите форму входа в систему и, если пользователь отменяет форму входа, просто закройте приложение.

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