Отображать маленькую форму, пока основная форма "заблокирована" - PullRequest
1 голос
/ 17 июня 2010

Я думаю о написании программы WPF, которая потребовала бы логин и пароль при запуске приложения.Я думал о небольшой форме с двумя текстовыми полями в качестве формы входа.Пользователь должен будет заполнить свои данные, после чего основная форма заявки будет разблокирована.Как вы решите это?

Спасибо за ваши ответы, daemonsvk

Ответы [ 3 ]

2 голосов
/ 17 июня 2010

Это стандартное поведение для вызова Window.ShowDialog (). Другие окна будут отключены.

0 голосов
/ 17 июня 2010

Самый простой способ сделать это - сначала показать (используя ShowDialog, который блокирует, т.е. ждет, пока форма не закроется, прежде чем перейти к следующей строке кода), форму входа в систему. Если вход выполнен успешно, вы располагаете форму входа и затем показываете свою основную форму; если вход не выполнен, вы закрываете приложение.

Если, однако, вы хотите, чтобы ваша основная форма была видна под формой входа в систему (это не является необоснованным требованием), вам необходимо сначала показать основную форму, а затем отобразить форму входа (модально) из метода Основная форма. В WinForms это требует какого-то взлома, так как вы не могли показать форму входа в систему ни из конструктора основной формы, ни из события Load (поскольку основная форма еще не будет видна при появлении формы входа).

WPF может справиться с этим лучше.

0 голосов
/ 17 июня 2010

Я бы сделал начальный запуск с вашей страницы входа в систему и аутентифицировал бы пользователя, если его данные верны, скрыть форму входа и показать вам другую форму.

if(user is authed)
{
    this.Hide(); //Hide the login form
    mainAppForm.Show(); //or Form.ShowDialog(); //Shows the main form
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...