Хотя я мог бы согласиться с Джудой, я видел множество форм в приложении MDI WinForms, которые намного превышали 200 общих элементов управления, логически содержащихся в форме, и форма требовала, чтобы каждый из них выполнял свою работу.Например, окно ввода счета-фактуры будет иметь набор элементов управления для заголовка, а затем набор пользовательских элементов управления, каждый из которых будет сопоставлен со строкой счета-фактуры и содержит поля для SKU, описания, количества, цены за единицу, расширенной цены, налога за единицу и т. Д.Счетчик контроля такого окна зависит от количества строк счета-фактуры, и большой заказ может генерировать счет-фактуру, требующую привязки и визуализации тысяч элементов управления на одном экране, если это делается наивно.Добавьте дополнительные детали для каждой строки для инструкций по отгрузке, налоговой информации, статуса задержанного заказа и т. Д., И попытка предварительной загрузки и рендеринга каждого элемента управления при загрузке окна может привести к сбою приложения.
7 секунд, однако, кажется чрезмерным.Я согласен с Фредериком;Первым шагом является поиск и просмотр всех 200 элементов управления для отображения информации на одном экране.Использование элементов управления вкладками с обработчиками событий для изменений вкладок, которые «лениво загружают» информацию и элементы управления, отображаемые на каждой вкладке, является хорошим первым шагом.Если вы отображаете строки повторяющейся дочерней информации (например, строки счета-фактуры в счете-фактуре), вы можете сэкономить время, загружая конечную страницу информации за раз;загрузка 10 строк намного дешевле, чем загрузка 100, и, хотя при общении с БД и динамической загрузке элементов управления, которые будут повторяться таким образом, возникают некоторые накладные расходы, это будет тривиально по сравнению с ожиданием нескольких секунд, чтобы увидеть НИЧУЮ загрузку наокно.