У меня возникла проблема с form.Show() в C# .NET Framework 2.0.C# .NET form.Show() очень медленный
//segment code (FormA's caller)
FormA frmA = new FormA();
writeLog("Begin: " + Environment.TickCount);
frmA.SuspendLayout();
frmA.Show();
frmA.ResumeLayout();
writeLog("End: " + Environment.TickCount);
....
//segment code (FormA)
private void FormA_Load(object sender, EventArgs e){
writeLog("Begin - Load: " + Environment.TickCount);
}
Из кода выше кода я создаю в режиме деблокирования и выполняю его. Я нашел разное время между «Begin:» и «Begin-Load» около 2 - 3 секунд на моем ноутбуке (Windows XP x86), но другое время на сервере (Windows 2003 SP2) составляет более 5 секунд. Я не знаю почему.
Кроме того, FormA много TableLayout и UserControl (всего управления приблизительных 800)
«Я не знаю, почему». Это потому, что 800 - это огромное количество элементов управления для инициализации! – overslacked
В этом случае я вызываю конструктор формы InitializeComponent, но почему .show() в form_load занимает много времени –