![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: нет Всего: 6 |
Вроде что то такое было на форуме, но вот найти немогу..
Есть однопоточное приложение. Сначала запускается форма авторизации, в ней создаются пользовательские IIdentity и IPrincipal и задаются потоку. После прохождения авторизации нужно закрыть форму авторизации и открыть главную форму, но вот незадача, если закрыть форму авторизации то закрывается приложение, если спрятать то форма авторизации все равно остается главной в потоке и для закрытия приложения нужно ее уничтожать.. в общем как то так.. Как поменять главную форму в потоке? Какое есть решение? Подскажите? --------------------
namespace informatik |
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
можно в program.cs до(!)
создать, показать авторизационную форму и на основании её результатов уже выполнить (или не выполнять - зависит от потребностей) вышеприведённую строчку. |
|||
|
||||
| informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: нет Всего: 6 |
Это и ежику понятно... спасиба..но не то..
--------------------
namespace informatik |
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
ну можно поиграться с Application.Run(), можно использовать одну форму, перестраивая её компоненты на лету
только вот зачем.. чем мой вариант не подходит? |
|||
|
||||
| Bishop |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 3.6.2005 Где: Минск, Беларусь Репутация: 6 Всего: 16 |
informatik,
Метод Application.Run(Form mainForm) добавляет переданной форме обработчик события Closed, в котором вызывается ExitThread. Так форма и становится "главной". Можно использовать другие перегрузки Run, а формы создавать и управлять завершением приложения явно. Смотрите пример для Application.Run(ApplicationContext context). Но, по-моему, для формы авторизации более подходит вариант mihryak. |
|||
|
||||
| informatik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 4.11.2007 Репутация: нет Всего: 6 |
Спасибо... Bishop, усе понятно. Попытаюсь чтонить сделать и выбрать лучший вариант...
--------------------
namespace informatik |
|||
|
||||
| Genrih1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 16.11.2007 Репутация: нет Всего: нет |
лучший способ imho, не залезая в автоматически генерируемый код типа Application.Run()
Это сообщение отредактировал(а) Genrih1 - 18.6.2008, 19:20 |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |