Страница: 1 |
Вопрос: форма отображается, но не получает фокус... | Добавлено: 28.09.08 15:24 |
Автор вопроса: ![]() |
проблема такая:
добавляю SplashScreen1.vb к проекту, состоящему из одной формы. указываю в свойствах проекта: startup form: form1 отмечаю: enable application framework splash screen: SplashScreen1 компилирую. в среде vs всё выполняется как надо. теперь делаю Pablish. Запускаю setup.exe запускается SplashScreen, затем появляется форма form1 - вроде бы как надо, Но сразу приступить к вводу данных в текстовые поля НЕВОЗМОЖНО. Надо сначала кликнуть по форме. Почему форма теряет фокус после загрузки. В чём может быть ошибка??? помогите пожалуйста! |
Ответы | Всего ответов: 6 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #1 | Добавлено: 03.10.08 19:30 |
Почему форма теряет фокус после загрузки. В чём может быть ошибка???
Скорее всего тут никакой ошибки нет. Попробуй в событии FormClosed(после закрытия формы) для SplashScreen принудительно передать фокус на нужную форму примерно так: Form1.Focus() И еще.. каким образом ты закрываешь SplashScreen? Скрываешь через Hide или именно закрываешь? |
Номер ответа: 2 Автор ответа: ![]() ![]() Вопросов: 21 Ответов: 104 |
Профиль | Цитата | #2 | Добавлено: 04.10.08 02:36 |
Спасибо за проявленный интерес.
Дело в том, что я не пишу никакой процедуры при закрытии SplashScreen. Меня упрекали в том, что я зря пыжусь писать свой Sub Main(). И я решил попробовать. Будь, что будет... Создал новый проект, добавил SplashScreen, перенастроил установки запуска проекта... Всё вроде бы без лишнего вмешательства. И ожидал, что проект заработает. Думал так: если заработает - буду искать ошибки в своём коде.... Но проект не заработал как надо!!! СТОП!!! Перед отправкой этого письма решил ещё раз создать новый проект и протестировать его. И, о чудо!!! Фокус не потерялся!!! Извините.... Не понимаю - что это было??? |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #3 | Добавлено: 04.10.08 07:34 |
Меня упрекали в том, что я зря пыжусь писать свой Sub Main()
Правильно упрекали, это абсолютно незачем делать.(кроме каких то специфических задач, которые нельзя решить стандартными средствами) Извините.... Не понимаю - что это было???
Скорее всего (это лишь мои догадки) SplashScreen является модальным окном, и при его закрытии система сама решает передавать ли фокус на другое окно или нет. Попробуй сделать как я говорил ранее - передать фокус принудительно на нужную форму,чтоб у системы не оставалось желания оставить ее в деактивированном состоянии. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 58 Ответов: 4255 ![]() |
Профиль | Цитата | #4 | Добавлено: 04.10.08 07:40 |
Кроме того имеет смысл опробовать вариант предложенный Brand'om. Убрать из настроект проект SplashScreen(ввиду того что ты не можешь контролировать его появление и закрытие) и и показать его как обычную форум (через Show) в событии StartUp приложения (Brand показал в соседней ветке как это можно сделать)
p.s. Примером помочь не могу, поскольку уже давно не пишу на VB и соответственно не имею его под рукой.. |
Номер ответа: 5 Автор ответа: ![]() ![]() Вопросов: 21 Ответов: 104 |
Профиль | Цитата | #5 | Добавлено: 04.10.08 13:40 |
Спасибо! Суть понял. |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #6 | Добавлено: 04.10.08 16:39 |
EROS, вариант предложенный Brand'ом как раз предусматривает использование стандартной Splash Screen и стандартной модели, и там все отлично работает и отлично ставит фокус.
У товарища проблемы из-за того что он сделал Splash Screen без стандартной модели, таймером и т.п. |
Страница: 1 |
|