我希望文本框距离父表单的上、下、左、右边缘保持一定距离,并在窗口拉伸时进行相应的调整。
目前我的代码是:
private void Form1_SizeChanged(object sender, EventArgs e)
{
richTextBox1.Size = new System.Drawing.Size(this.ClientSize.Width - 24, richTextBox1.Size.Height);
}
...为宽度而设,但我在想这是否正确,有更好的方法吗?
我希望文本框距离父表单的上、下、左、右边缘保持一定距离,并在窗口拉伸时进行相应的调整。
目前我的代码是:
private void Form1_SizeChanged(object sender, EventArgs e)
{
richTextBox1.Size = new System.Drawing.Size(this.ClientSize.Width - 24, richTextBox1.Size.Height);
}
...为宽度而设,但我在想这是否正确,有更好的方法吗?
正如Moozhe所说,您需要使用控件的Anchor属性。
使用锚定属性定义控件在其父控件调整大小时如何自动调整大小。将控件锚定到其父控件可确保锚定边缘相对于父控件的边缘保持在同一位置,即使父控件调整大小。
但是根据我的经验,不要忘记为控件分配MinimumSize
和MaximumSize
属性,这些属性有助于控件在调整窗体大小太小或太大时具有某些最小或最大尺寸。
您还可以像这样使用 Dock 属性:
richTextBox1.Dock = DockStyle.Fill;
这个会起作用:
richTextBox1.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Top);