![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
chudak |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 2.1.2008 Репутация: нет Всего: нет |
почитал тут как с мерцанием справиться, непомогает!!!
может я чего нетак сделал???
данный код просто тренировачный, и смысловой нагрузки не несет!!! скажите что еще сделать чтобы не мерцала при прокрутки скролла!!! Заранее спасибо!!! |
|||
|
||||
Alekz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 5.2.2008 Где: Запорожье, Украин а Репутация: 1 Всего: 2 |
||||
|
||||
chudak |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 2.1.2008 Репутация: нет Всего: нет |
ничего не выходит, форма без наваротов, мерцание прежнее!!!
что делать? |
|||
|
||||
Crimp |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 21.10.2007 Где: Tula Репутация: нет Всего: 2 |
вместо
сделай override OnPaint. и Refresh(); очень тяжелая операция, используй Invalidate(); |
|||
|
||||
chudak |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 2.1.2008 Репутация: нет Всего: нет |
попрежнему мерцает
![]() а самое отвратительное то, что я непонимаю почему |
|||
|
||||
zaver |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 15.8.2005 Репутация: 1 Всего: 3 |
Добавлено через 1 минуту и 24 секунды я больше люблю первый вариант, второй сильно сложный для такой маленькой проблемы |
|||
|
||||
Experimenter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 430 Регистрация: 8.5.2007 Где: Уфа Репутация: 4 Всего: 17 |
chudak, создай маленький класс панели:
Потом, в методе Invalidate() есть перегрузка Invalidate(Rectangle rect). Используй ее для перерисовки только видимой части панели. -------------------- public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){ if(zlo1 < zlo2) return zlo1; else if(zlo1 > zlo2) return zlo2; else throw new Exception("Kill yourself by the wall"); } |
|||
|
||||
Егоша |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 29.3.2008 Репутация: нет Всего: нет |
Вопрос, а как тогда в поток передать e.Graphics основной формы ? Как сататическое поле его хранить и обновлять в OnPaint - не получилось, я так понял из-за того что часто обновляется обьект Graphics и возникает конфликт... |
|||
|
||||
vponomarov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 11.8.2007 Где: Киев Репутация: 2 Всего: 12 |
можно вместо вызова Invalidate() напрямую вызывать метод перерисовки
мерцание возникает из-за того, что Invalidate() полностью очищаетизображение, а потом уже оно перерисовывается. если напрямую вызывать перерисовку, то очистки происходить не будет, будет рисовать по-верх старого изображения. если при перерисовке старое изображение полностью накрывается новым, то проблем с артефактами не будет ![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [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. |