Я разрабатываю пользовательский элемент управления, который мне нужен для проекта, элемент управления имеет около 13 строк, 7 столбцов текстовых полей, comboboxes... все в форме, автопрокручиваемой. Проблема заключается в том, что во время выполнения прокрутки обновление содержимого происходит очень медленно. Некоторая идея?
Использование datagridview не является вариантом.
Edit:
Я должен быть более конкретным, элементы управления 13 строк находятся в usercontrol. Я изменил свойство uc doublebuferred на true, я не могу изменить дочерние элементы управления, потому что все они являются стандартным текстом и comboboxes, поэтому нет такого свойства. В основной форме я создаю около 7 из этого usercontrols динамически внутри панели с возможностью автопрокрутки, проблема заключается в прокрутке панели, обновление происходит очень медленно. И да, я тоже не могу поверить, что winforms могут быть настолько плохими.
С уважением.
Вам нужно настроить пользовательский элемент управления и все дочерние элементы управления на два буфера. (control.DoubleBufferred = true)
Является ли какой-либо из дочерних элементов управления настраиваемыми элементами управления? Возможно, есть проблема в одной из процедур рисования, которая не так заметна, когда есть несколько из них, но на самом деле больно с большим количеством? Любые обработчики спам-событий, например mouseMove, делают слишком много в обработчике в контейнере?
Мне было бы трудно поверить, что WinForm падает на современный компьютер, когда вы нажимаете 91 элемент управления.
Попробуйте использовать DoubleBuffered = true
внутри конструктора вашего UserControl.