在我的應用程序中,我確實需要在很好的順序中放置很多控件(標籤,文本框,domainupdown)。所以我繼續使用嵌套TableLayoutPanel
。現在的問題是,這種形式對大多數事件(調整大小,最大化,最小化和......)的響應速度非常緩慢,因此表格中的控件需要5秒才能調整大小,重新繪製爲新的表單大小。TableLayoutPanel對事件的響應速度非常緩慢
我現在正在盯着我的眼睛!如果這種形式在我的家用電腦上很慢(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中工作得更快......或者,如果你知道一個更好的辦法放下控件約百很好地對齊。
擁有較少的控件將成爲解決此問題的最終解決方案。 – LarsTech 2012-01-17 20:29:50
這將是理想的......但有些時候你真的需要這些控制! – 2012-01-27 14:13:16
有限制控件的方法。有時你可以消除標籤,並在繪畫事件中繪製文本。也許考慮[這個答案](http://stackoverflow.com/a/8930446/719186),因爲它聽起來可能是同一個問題。順便說一句,你可能不需要像你一樣循環控制,只需使用'panelFilters.SuspendLayout();'看看會發生什麼。 – LarsTech 2012-01-27 14:26:29