1. 程式人生 > >C# Form.Hide()後再 Show()時,Dock不為 none的 控制元件將不會顯示。

C# Form.Hide()後再 Show()時,Dock不為 none的 控制元件將不會顯示。

  具體原因不是很清楚,查看了下 Control 的原始碼, Hide 和Show方法只是改變了 Visible屬性,然後看了下OnVisibleChanged方法,裡面的內容比較多,我就沒細看,想來也是控制其上的子控制元件的 visible屬性,但沒看到與 dock有何關係。
 
  解決的方法就是設Dock值為 none, 如果想隨窗體大小改變而改變時,可以在窗體的 onSizeChanged事件中改變相應控制的大小。
 
  其實,只要窗體的子控制元件的Dock為 None就行了,子控制元件中的控制元件的Dock屬性為何值沒什麼關係
 
  有人知道原因的話,歡迎告訴,謝謝
 
  C# SDK 2.0