C# - 将文本框拉伸以适应包含的窗口

14

我希望文本框距离父表单的上、下、左、右边缘保持一定距离,并在窗口拉伸时进行相应的调整。

目前我的代码是:

private void Form1_SizeChanged(object sender, EventArgs e)
{
    richTextBox1.Size = new System.Drawing.Size(this.ClientSize.Width - 24, richTextBox1.Size.Height);
}

...为宽度而设,但我在想这是否正确,有更好的方法吗?


2
将文本框放置在表单上想要的位置,并将Anchor属性设置为顶部、底部、左侧和右侧。 - Trevor Elliott
1
@Mooz,请将此作为答案添加,而不是评论 :) - Keith Nicholas
@Moozhe,如果你把它放在那里,我会接受它作为答案:D - mowwwalker
3
我不喜欢简短的回答。如果我回答了,我感觉有责任提供示例代码和详细解释“停靠”、“锚定”和边距等美妙的世界。 - Trevor Elliott
3个回答

19

正如Moozhe所说,您需要使用控件的Anchor属性。

使用锚定属性定义控件在其父控件调整大小时如何自动调整大小。将控件锚定到其父控件可确保锚定边缘相对于父控件的边缘保持在同一位置,即使父控件调整大小。

但是根据我的经验,不要忘记为控件分配MinimumSizeMaximumSize属性,这些属性有助于控件在调整窗体大小太小或太大时具有某些最小或最大尺寸。


10

您还可以像这样使用 Dock 属性:

richTextBox1.Dock = DockStyle.Fill;

0

这个会起作用:

richTextBox1.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right |  AnchorStyles.Left | AnchorStyles.Top);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接