Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
SergBokh
82 / 74 / 13
Регистрация: 03.09.2009
Сообщений: 346
1

Как сделать, чтобы форма по-человечески появлялась на экране)) ?

04.09.2010, 23:55. Просмотров 1463. Ответов 6
Метки нет (Все метки)

Проблема в том, что на главной форме у меня несколько тяжелых компонентов, которые при первоначальной загрузке долго создаются. Поэтому запуск программы на экране выглядит как мелькание серых панелей в течении 1-2 секунд.
Как сделать это построение "скрытым" и отобразить форму уже после полной первоначальной прорисовки?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2010, 23:55
Ответы с готовыми решениями:

Как сделать чтобы форма появлялась справа снизу?
Как сделать чтобы форма появлялась справа снизу? Нашёл вот такое ...

Сделать, чтобы при нажатии checkbox-a появлялась кнопка
Добрый вечер. Очень нужен пример того как на XAMLe как сделать чтобы при нажатии checkbox-a...

Сделать, чтобы вторая форма появлялась активной
У меня такой вопрос: в программе есть две формы. Когда первая форма закрывается - автоматически...

Как сделать, чтобы при запуске появлялась Form2?
есть две формы Form1 и Form2. При запуске появляется Form1. Как сделать, чтобы при запуске...

Как сделать, чтобы при клику по PictureBox там появлялась картинка?
я создал массив PictureBox PictureBox mMatrix=new PictureBox; определил его for (int i = 0; i <...

6
Rockedit
Автор FAQ
Автор FAQ
1780 / 591 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
05.09.2010, 00:11 2
C#
1
2
3
4
5
6
            
Form1 f = new Form1();
//скрыть
f.Hide();
//показать            
f.Show();
0
SergBokh
82 / 74 / 13
Регистрация: 03.09.2009
Сообщений: 346
05.09.2010, 00:49  [ТС] 3
У меня главная форма программы запускается стандартно:

Application.Run(new MainForm() );

И вот при этом на экране виден процесс первоначальной отрисовки контроллов формы. Как бы это скрыть

2 Rockedit: не понял как это может помочь здесь
0
Rockedit
Автор FAQ
Автор FAQ
1780 / 591 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
05.09.2010, 00:59 4
я думал , что компоненты рисуются программно.
0
SergBokh
82 / 74 / 13
Регистрация: 03.09.2009
Сообщений: 346
05.09.2010, 01:22  [ТС] 5
Хм, вот такой глуповатый способ помог:

C#
1
2
3
4
5
6
private void MainForm_Shown(object sender, EventArgs e)
        {          
            this.Opacity = 0;
            this.Refresh();
            this.Opacity = 100;
        }
Т.е. вся отрисовка происходит на экране, но при полной прозрачности формы.
0
nio
5977 / 3383 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
06.09.2010, 00:28 6
SergBokh, я решал таким образом: окно изначально запускается в свернутом виде (задатся при проектировании в свойстве WindowState=Minimized), а после загрузки всех данных раскрывается.

C#
1
2
3
4
5
private void CentralForm_Load(object sender, EventArgs e)
        { 
/*загрузка данных*/
this.WindowState = FormWindowState.Maximized;
        }
0
alexey_baranov
4 / 4 / 4
Регистрация: 06.05.2010
Сообщений: 180
06.09.2010, 09:54 7
У меня тоже все мигает причем не только в процессе загрузки, а и потом, потому что динамически создаются Тэйбллэйауты внутри сплитконтроллера, а внутри тэйбллэйаутов списки и сложные пользовательские контролы, которые подгружают инфу из базы. Короче, представляете, как все дергается.

Я знаю, что там есть какое-то свойство "Двойная буферизация", которое позволяет избавиться от миганий, но пока не копал туда. Никто про это не читал?

И, кстати, как то же самое будет работать если переписать все на WPF? Будет ли оно также мигать и глючить?
0
06.09.2010, 09:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2010, 09:54

Как сделать так чтобы Form2 появлялась ровно в том же месте где и Form1
Эту тему читал http://www.cyberforum.ru/windows-forms/thread248400.html Но ответы не помогли....

Как сделать так, чтобы по клику на картинке в форме появлялась ещё одна.(реплики персонажа)
Как сделать так, чтобы по клику на картинке в форме появлялась ещё одна. Пользователь кликает на...

Как сделать, чтобы при нажатии на button появлялась форма?
Приветствую, как мне сделать так что бы при нажатии на <button> появлялась форма?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru