![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| #Sage |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 25.2.2005 Репутация: 1 Всего: 1 |
Есть ли возможность скрыть/предотвратить появление окна программы ещё до того как оно прорисовалось? Т.е. просто дать комманду не прорисовывать основную форму. Я нашёл выход перегрузив OnPaint и там задав Form.Visible = false, но хотелось бы, чтобы вообще набыло поползновений что-либо прорисовывать, т.к. в моём варианте окно, хоть и на сотую секунды, но всё-таки видно.
Заранее спасибо за помощь. |
|||
|
||||
| -ser- |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 1.2.2005 Репутация: 4 Всего: 13 |
Здесь не так все просто как кажется на первый взгляд.
В данном случае необходимо отделить жизненные циклы приложения от его формы, после чего можно делать форму невидимой. а для этого необходимо создать новый класс в котором переопределяется точка старта приложения, т.е. Main(). вот как раз на эту тему http://msdn.microsoft.com/library/default....tsinception.asp Это сообщение отредактировал(а) -ser- - 3.8.2005, 05:44 -------------------- "Тонкая, однако, работа." |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: нет Всего: 172 |
А почему бы в конструкторе не указать Visible=false?
-------------------- |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
Можно просто убрать Application.Run (form) из метода Main. Или, как говорит Domestic Cat (либо в дизайнере форм) поставить св-во Visible=false.
-------------------- ![]() |
|||
|
||||
| -ser- |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 1.2.2005 Репутация: 4 Всего: 13 |
что-то я не видел в дизайнере форм для формы св-во Visible, равно как не получится поставить это св-во в конструкторе для формы.
здесь можно согласиться, только наверно правильнее убрать 'form' из Application.Run (form), но подозреваю, это уже будет другого рода приложение. и чтобы дискутировать правильно ли это, желательно знать причину зачем вообще все это понадобилось. Это сообщение отредактировал(а) -ser- - 3.8.2005, 08:08 -------------------- "Тонкая, однако, работа." |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: нет Всего: 172 |
Насчет Visible мы погорячились, но вот такой код в конструкторе сделает свое дело
-------------------- |
|||
|
||||
| borlik |
|
|||
|
Unregistered |
Лично у меня при возникновении такой проблемы было 2 решения:
1 - импортировать winapi функцию ShowWindow (если что, смотри pinvoke.net) - лично у меня окно ни разу не мелькнуло при использовании этой функции в отличии от form.hide, хотя тоже не панацея. 2-й случай, если из программы в formLoad запускается дилог проврки пароля и он не совпадает и не охота, что бы при этом при закрытии главное окно моргало, то делаем this.Close();return; но это уже совет для начинающих пионеров |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: нет Всего: 172 |
Хм, винапи ради такой мелочи? -------------------- |
|||
|
||||
| borlik |
|
|||
|
Unregistered |
Вы так говорите про винапи, будто это какое-то чудо, которое нужно применять в исключительных случаях (не в тему: например при работе с КОМ портом однозначно лучше использовать винапи), хотя на самом деле добаляется всего лишь 2 строки
|
|||
|
||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: 2 Всего: 36 |
Модератор: Не отклоняемся от заданного курса (темы обсуждения)
-------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Medved |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
Так и есть, необходимо стараться, чтобы код был переносимым. Винапи скорее не чудо, а окаменевшая реликвия. По сабжу согласен с Domestic Cat
Это отпимальное решение, зачем заморачиваться? -------------------- |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |