В моем приложении мне действительно нужно было разместить много элементов управления (метка, текстовое поле, domainupdown) в хорошем порядке.Поэтому я пошел дальше и использовал несколько вложенных TableLayoutPanel
.Проблема в том, что эта форма очень медленно реагирует на большинство событий (изменение размера, максимизация, свертывание и ...). Для элементов управления в таблицах изменение размера и перерисовка до нового размера формы действительно занимает до 5 секунд.
Теперь я кладу палец в глаз!Если эта форма слишком медленная на моем домашнем ПК (i7 @ 4GHz и хорошая графическая карта), что она сделает завтра на старом компьютере P4 на работе?
Я даже пытался использовать приведенный ниже код, но он делаетабсолютно ничего, если это не замедляет это больше!
private void FilterForm_ResizeBegin(object sender, EventArgs e)
{
foreach(TableLayoutPanel tlp in panelFilters.Controls)
{
if(tlp != null)
{
tlp.SuspendLayout();
}
}
}
private void FilterForm_ResizeEnd(object sender, EventArgs e)
{
foreach (TableLayoutPanel tlp in panelFilters.Controls)
{
if (tlp != null)
{
tlp.ResumeLayout();
}
}
}
Пожалуйста, дайте мне знать, если есть хитрость, чтобы заставить tablelayoutpanel работать быстрее ... или если вы знаете лучший подход, чтобы сложитьСотня элементов управления прекрасно выровнена.