2014年8月5日 星期二

在多層巢狀Container控制項的結構中無法正確resize

  • 如果設計的WinForm包含多層container的結構(例如: 一個tab container裡面加了另一個tab container, 然後裡面又包含其他panels等等...),有可能在resize 這個WinForm的同時造成畫面縮放混亂(例如:無法正確執行Panel的Anchor、Dock行為,或者是畫面字體縮成一團等問題),這是一個windows的bug,當container再resize的當下如果本機資源不足或者Kernel的stack空間資源用完才會造成的問題,因此不一定每次都會發生。

image

  • 解決方法:再Parent container或是WinForm要複寫 base.OnSizeChanged()方法去正確的顯示縮小放大,如圖下:

clip_image001

2 則留言: