![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Sergey_P |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 6.9.2007 Репутация: нет Всего: нет |
Имеется процедура, которая начинает выполняться при запуске приложения (расположена в главной форме)
В моей процедуре On_Load();, при выполнении определенного условия появляется Message с кнопкой OK и происходит выход из приложения Application.Exit(); Однако даже после выполнения Application.Exit(); курсор переходит на InitializeComponent();, а затем на
После чего как ни в чем не бывало окно программы запускается! Как от такого избавиться? Как сделать так, чтобы при запуске программы и выполнения определенног условия (нет рабочего каталога), основное окно программы больше не появлялось. |
||||
|
|||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 10 Всего: 36 |
вставь проверку перед этим методом
а его вызывай в том случае, если проверка прошла успешно |
|||
|
||||
| yar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 8.9.2007 Где: Одесса, Украина Репутация: 2 Всего: 8 |
Во время конструирования формы Application ещё не запущено и (наверняка) не вошло в цикл сообщений. Поэтому ничего и не происходит
Так что можно где-то определить MyFormInitException и сделать так:
А из конструктора формы кидать это исключение. Добавлено через 8 минут и 17 секунд Хотя, если это проверка каких-то предусловий, не связанных с формой, то все проверки лучше делать вообще до инстанцирования формы. --------------------
Если бы строители возводили здания так, как программисты пишут программы, первый же дятел уничтожил бы мировую цивилизацию.Джеральд Вайнберг |
|||
|
||||
| Sergey_P |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 6.9.2007 Репутация: нет Всего: нет |
извниняюсь за возможно глупый вопрос, но я изучаю VS и C# пока только 2 недели, а как кинуть исключение из формы?
|
|||
|
||||
| mihryak |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 10 Всего: 36 |
и в любом месте без try-catch
только зачем такую штуку делать - непонятно чем вариант с дополнительным кодом в program.cs не угодил? приложение прекрасно работает и безо всяких форм.. |
||||
|
|||||
| Sergey_P |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 6.9.2007 Репутация: нет Всего: нет |
нуууу ...код не красивый
|
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 10 Всего: 36 |
угу, потрясающая красота - кидать исключения в конструкторе формы
как, впрочем, и обучать её (форму) тому, что требуется для работы приложению (а не его визуальной части в виде формы!) слабо себе представляю, что за такие трюки работник сумеет избежать как минимум серьёзного разговора а такие более чем обыденные штуки, как обработка параметров командной строки, запрет на повторный запуск (опять-таки - приложения) и т.п. тоже планируешь в конструкторе главной формы делать? да и не вижу я ни малейшего уродства в коде вроде
|
|||
|
||||
| yar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 8.9.2007 Где: Одесса, Украина Репутация: 2 Всего: 8 |
Согласен с mihryak,
код не относящийся к форме должен быть от неё отделён. Если проверок много, можно выделить их в отдельный метод и вызывать его из Main. --------------------
Если бы строители возводили здания так, как программисты пишут программы, первый же дятел уничтожил бы мировую цивилизацию.Джеральд Вайнберг |
|||
|
||||
| Sergey_P |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 6.9.2007 Репутация: нет Всего: нет |
спасибо!
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |