C# Form.Hide()后再 Show()时,Dock不为 none的 控件将不会显示。

时间:2022-03-10 15:53:25

 

  具体原因不是很清楚,查看了下 Control 的源码, Hide 和Show方法只是改变了 Visible属性,然后看了下OnVisibleChanged方法,里面的内容比较多,我就没细看,想来也是控制其上的子控件的 visible属性,但没看到与 dock有何关系。
 
  解决的方法就是设Dock值为 none, 如果想随窗体大小改变而改变时,可以在窗体的 onSizeChanged事件中改变相应控制的大小。
 
  其实,只要窗体的子控件的Dock为 None就行了,子控件中的控件的Dock属性为何值没什么关系
 
  有人知道原因的话,欢迎告诉,谢谢
 
  C# SDK 2.0