отключить перерисовку формы C#
От: BiZone Россия  
Дата: 02.10.06 05:07
Оценка:
собственно на форме имеется куча контролов...
контролы необходимо перерисовывать (при том же скролинге например)... при этом соответветственно наблюдается слайд-шоу контролов...

так вот вроде как есть API-функция которая блокирует перерисовку формы, а в C++ даже был метод соответствующий...

как быть в C#?

Заранее спасибо

03.10.06 08:00: Перенесено модератором из '.NET' — Хитрик Денис
Re: отключить перерисовку формы C#
От: Alexey_N  
Дата: 02.10.06 05:48
Оценка:
Здравствуйте, BiZone, Вы писали:

BZ>собственно на форме имеется куча контролов...

BZ>контролы необходимо перерисовывать (при том же скролинге например)... при этом соответветственно наблюдается слайд-шоу контролов...

BZ>так вот вроде как есть API-функция которая блокирует перерисовку формы, а в C++ даже был метод соответствующий...


BZ>как быть в C#?


BZ>Заранее спасибо

Можно попробовать включить двойную буфферизацию.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: отключить перерисовку формы C#
От: _FRED_ Черногория
Дата: 02.10.06 05:50
Оценка:
Здравствуйте, BiZone, Вы писали:

BZ>так вот вроде как есть API-функция которая блокирует перерисовку формы, а в C++ даже был метод соответствующий...

BZ>как быть в C#?

http://www.pinvoke.net/default.aspx/user32.LockWindowUpdate
... << RSDN@Home 1.2.0 alpha rev. 652>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Re[2]: отключить перерисовку формы C#
От: BiZone Россия  
Дата: 02.10.06 05:52
Оценка:
Здравствуйте, Alexey_N, Вы писали:

A_N>Можно попробовать включить двойную буфферизацию.


да включено все! проблема в другом что когда перерисовывается каждый контрол, то перерисовывается и сама форма...

ну опять таки пример со скролом... я проскролил форму, контролы соответствено поменяли свой location и перерисовались... соответственно сделать как нить так чтобы поменять вначале location всем контролам, а только потом единственный раз перерисовать форму... а для этого соответственно как то надо на время заблокировать ее перерисовку!
Re[3]: отключить перерисовку формы C#
От: Yozik Россия  
Дата: 03.10.06 14:15
Оценка:
Здравствуйте, BiZone, Вы писали:

BZ>ну опять таки пример со скролом... я проскролил форму, контролы соответствено поменяли свой location и перерисовались... соответственно сделать как нить так чтобы поменять вначале location всем контролам, а только потом единственный раз перерисовать форму... а для этого соответственно как то надо на время заблокировать ее перерисовку!


Попробуй вызвать для формы SuspendLayout/ResumeLayout:

this.SuspendLayout();
...изменение контролов
this.ResumeLayout(false);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.