Улучшение производительности Winforms с большим количеством элементов управления
Есть ли способы улучшить производительность при создании нескольких форм с большим количеством элементов управления (более 500)?
Наши элементы управления располагаются в текстовом поле с меткой + 6 для каждой строки конфигурации, как показано ниже:
Изображение http://s7.postimage.org/cdhay2c23/test.png
Мы использовали следующие контейнеры для структурирования наших элементов управления:
DevExpress' XtraLayoutControlПанели вокруг каждого ряда и перемещения вручнуюОбщее управление таблицейМы можем'• используйте сетку, так как текстовые поля должны быть скрыты в каждом конкретном случае, и наши формы должны выглядеть достаточно близко к распечаткам. Кроме того, в каждом ряду естьs собственный тип данных, поэтому нам нужно добавить валидацию и редакторы для каждого.
Элемент управления таблицей является наиболее производительным, где загрузка каждой формы занимает около 2 секунд.
Поскольку каждый из них будет представлять собой документ в нашем программном обеспечении, и мы позволяем пользователям открывать несколько документов одновременно, мы пытаемся найти способ повысить производительность.
Одно из предложений заключалось в том, чтобы кэшировать фактическую форму и иметь объект состояния, в котором хранятся данные. Тем не менее, мы позволяем пользователю видеть более одного документа одновременно.
Еще одно предложение состояло в том, чтобы загрузить документ по частям и показать каждую часть по мере ее загрузки. Это н'Идеально, так как мы знаем, что у нас есть документ, который выглядит почти так же, как распечатка.
Существуют ли какие-либо другие стратегии или мы просто должны сказать нашим клиентам, что эта программа будет работать медленнее, чем она?S VB6 предшественник?
Примером дизайна формы мыПерепланировка здесь:Linki»