2010-07-01 199 views
0

我有很多面板和一種形式。我採用了面板,所以我不必使用多種形式。但是它有一個問題。將面板大小分配給窗體大小並顯示窗體後,下次再次分配窗體時,令我驚訝的是面板比原始窗體小。這是爲什麼發生?這是我如何做的。面板尺寸越來越小

this.Size = panelABC.Size; 
panelABC.Dock = DockStyle.Fill; 
panelABC.Visible = true; 
+0

什麼是'this'? – ChrisF 2010-07-01 14:20:26

+0

其形式類 – Trum 2010-07-01 14:31:25

回答

0

由於面板尺寸已就改變它的時候停靠內控制你來再次調用此代碼。使用對接錨固將父容器的大小調整時管理面板尺寸。

爲了回答清晰 - 實際答案在另一個發佈的答案的評論中描述。

+0

如何補救? – Trum 2010-07-01 14:26:42

+0

不要再次調用代碼,或者在面板停靠時忽略尺寸設置。 – 2010-07-01 14:30:20

0

我會假設有一些填充或其他意味着在第一次分配後需要進行一些調整以適應事物,這意味着panelABC變得更小(因此它將適合正確)。因此遞歸調用使它不斷變小。

要確認是否是這種情況下,堅守在一個斷點,並檢查你的尺寸是什麼,你經歷......

0

什麼this?如果它是你的面板所在的表單(或父控件),那麼這就是你的問題:對接你的面板會使它比父面板稍小。隨後調用您的代碼,然後使父母匹配面板的(較小)尺寸,然後重複該過程...

+0

'這是'表格。那麼解決方案是什麼? – Trum 2010-07-01 14:28:03

+0

回答這個問題 - 爲什麼要將表單大小設置爲面板大小?你想達到效果嗎?很難提供解決方法,因爲沒有人知道你想用這個尺寸代碼實現什麼。 – 2010-07-01 14:29:10

+0

由於我有多個顯示不同窗體狀態的面板(您可能會說不同的窗口) – Trum 2010-07-01 14:30:37