对于问题的快速总结,请看底部的图片。
你好,
我创建了一个Form
(名为BaseForm)作为所有窗口的基础。
该基本表单在底部包含(为简单起见)类似“状态栏”(用户控件)的内容。
该状态栏已锁定,因此无法在设计器中移动或调整其大小。
它的锚点设置为左,下,右,因此它始终停留在底部并水平调整大小。
现在,当创建另一个Form
并进行更改以使其继承MyProject.BaseForm而不是System.Windows.Forms.Form时,状态栏就在那。
但是现在状态栏的位置和大小出现了问题。
状态栏的标准位置和大小错误。 VisualStudio从BaseForm中获取位置和大小,而不是应用Anchor。
另外,我无法(也不想!)移动/调整状态栏的大小以解决问题。
一种显而易见且可行的解决方案是将statusbars Dock属性设置为Bottom。
但是我不能将其用作解决问题的通用解决方案,因为我也有不应停靠的控件。 (例如,一个按钮应始终位于表单的右下角)
最佳答案
我认为解决此问题的最佳方法是使用TableLayoutPanel
而不是显式对接。在父窗体中创建2行TableLayoutPanel
。将最下面的行设置为AutoSize
,然后将状态栏放入其中。这样,派生的表单可以自由地在代表控件其余部分的另一行中添加内容。