![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| DZeus |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 20.3.2008 Репутация: нет Всего: нет |
Есть 2 формы LoginForm и MainForm в рамках одного Solution.
Задача: При запуске приложения показать LoginForm, а MainForm либо спрятать, либо сделать недоступной, ДО ТЕХ ПОР, пока юзер не залогинится. Как только логин прошёл успешно, прибить LoginForm, а MainForm сделать доступной. Вопрос: How? Пробовал способ отсюда - http://forum.vingrad.ru/topic-162099.html но какое событие подобрать? |
|||
|
||||
| Walker |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 23.10.2006 Репутация: 1 Всего: 16 |
В главном окне - подписываетесь на событие Load() или перекрываете OnLoad(). В нём - скрываете главное окно, создаёте экземпляр LoginForm и передаёте управление ей. Кстати сказать, метод формы ShowDialog имеет код возврата типа DialogResult. Воспользуйтесь этим - проверяйте его и в зависимости от значения продолжайте работу или уходите. В общем, что-то типа
В коде LoginForm - свобода действий. Например, набросьте кнопку Ок и выставьте её свойство DialogResult в OK. Затем проверяйте содержимое полей ввода при изменении в них текста и в зависимости от этого делайте доступной/недоступной эту кнопку. Либо проверяйте содержимое полей при нажатии на кнопку, и либо уничтожайте форму и возвращайте управление, либо выводите окно с сообщением о неверном пароле и оставайтесь в форме, либо завершайте приложение, либо что-то ещё.... В общем, для второго случая
Удачи! -------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
||||
|
|||||
| DZeus |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 20.3.2008 Репутация: нет Всего: нет |
Walker
Спасибо за совет, попоробовал Load отработать как вы предлагаете, однако при старте появились обе формы, причём MainForm в фокусе LoginForm у меня: 2 texBox (name и pwd) ну и собственно 2 button- а (ok, cancel) и метод doLogin()
Это сообщение отредактировал(а) DZeus - 30.4.2008, 11:36 |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
У главной формы перекрыть метод SetVisibleCore и не вызывать base.SetVisibleCore до тех пор пока логин не пройдёт успешно. После этого показать главную форму (Show).
-------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |