2010-10-18 184 views
1

我有一個表格,其中有TableLayoutPanel停靠在它上面,並且TextBox,Image,TreeViewListView在那Panel之內。C#調整大小問題

當用戶調整窗體大小時,這些控件會隨之調整大小,但如果用戶快速調整大小或用戶最大化整個窗體,則會有明顯的延遲;延遲是如此可觀,我是能夠截圖吧:

screenshot

你也可以看到,「選項」按鈕時,顯示兩次,一次是在它應該是(在上右上角)並且一次在搜索框的中間(調整表單之前)。這不應該發生,但也是由延遲造成的。

截圖截圖後不久,表單看起來不錯,但有誰知道一種方法來消除或減少這種延遲?

我編輯圖像的隱私原因,但只有60左右的項目在列表視圖。

+0

TableLayoutPanel本身很慢。很多人都遭受同樣的痛苦:) – honibis 2010-10-18 13:02:37

回答

1

你有任何特殊的代碼處理重繪?

如果是的話,您是否使用BeginUpdate()方法和EndUpdate()方法?

msdn

防止從圖紙直到EndUpdate方法被稱爲控制。

這些方法(取決於您的情況)可能導致組件在更改大小後才能更新。這可能會阻止項目在屏幕上出現兩次,並加快調整大小。

0

也許你在你的列表視圖中有虛擬物品,並且你的物品正在緩慢地重新計算?你有任何代碼,當listview需要重繪時運行嗎?