Если загрузка этого списка происходит с небольшой задержкой, то выполнение этой загрузки в потоке пользовательского интерфейса всегда делает форму не отвечающей на запросы независимо от того, в каком событии вы ее выполняете - изменив это на выполнение после формыпосле загрузки он просто сделает форму не отвечающей и видимой, в отличие от простой задержки перед отображением формы.
Если нет способа ускорить загрузку списка, вам, вероятно, потребуетсяизмените логику загрузки формы так, чтобы вместо нее выполнялась «тяжелая работа» в фоновом потоке, чтобы форма оставалась отзывчивой во время заполнения списка.Вы должны знать, что многопоточный код сложнее понять, и при неправильном выполнении может привести к ошибкам, которые являются прерывистыми и трудными для отладки, и поэтому вам, безусловно, следует сначала попытаться ускорить существующий код.Тем не менее, если вы не можете ускорить загрузку списка, а задержка недопустима, альтернативы на самом деле нет.
Если вы решите загрузить свой список асинхронно (в фоновом потоке), то идея заключается в том,запустить фоновый поток (обычно через BackgroundWorker ), который выполняет тяжелую работу по подготовке списка элементов, которые будут добавлены - когда это закончено (или не удалось), поле формы / списка обновляется с помощью предоставленногосписок предметов.
Вы сможете найти множество ресурсов о том, как это сделать, в Интернете, которые более подробно расскажут об этом.