Медленное обновление при прокрутке панели - PullRequest
2 голосов
/ 09 января 2009

Я разрабатываю пользовательский элемент управления, который мне нужен для проекта. Элемент управления содержит около 13 строк, 7 столбцов текстовых полей, комбинированные списки ... все элементы в форме с автопрокруткой. Проблема заключается в том, что во время выполнения при прокрутке обновление контента происходит очень и очень медленно. Какая-то идея?

Использование сетки данных недоступно.

Edit:

Я должен быть более конкретным, 13 элементов управления строк находятся в пользовательском контроле. Я изменил свойство doublebuferred в uc на true, я не могу изменить дочерние элементы управления, потому что все они - стандартный текст и списки, поэтому такого свойства нет. В основной форме я создаю около 7 таких пользовательских элементов управления динамически внутри автоматически прокручиваемой панели, проблема заключается в прокрутке панели, обновление происходит очень медленно. И да, я тоже не могу поверить, что формы могут быть такими плохими.

Привет.

Ответы [ 3 ]

0 голосов
/ 09 января 2009

Есть ли какие-либо дочерние элементы управления тоже? Возможно, есть проблема в одной из процедур рисования, которая не так заметна, когда их несколько, но действительно причиняет боль многим? Какие-либо обработчики спам-событий, такие как mouseMove, делают слишком много в обработчике элемента управления контейнера?

Мне трудно поверить, что WinForm падает на современный компьютер, когда вы нажимаете 91 элемент управления.

0 голосов
/ 09 января 2009

Вам необходимо установить пользовательский элемент управления и все дочерние элементы управления в двойной буферизации. (control.DoubleBufferred = true)

0 голосов
/ 09 января 2009

Попробуйте использовать DoubleBuffered = true в конструкторе вашего UserControl.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...