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

时间:2011-12-18 21:08:22

标签: c# winforms visual-studio resize

我希望文本框与父窗体的顶部,底部,左侧和右侧边缘保持一定距离,并像窗口一样拉伸。

目前我有:

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

...宽度,但我想知道这是否正确。还有更好的方法吗?

3 个答案:

答案 0 :(得分:14)

正如Moozhe所说,你需要控件的Anchor属性

  

使用Anchor属性定义控件的自动方式   调整其父控件的大小。将控件锚定到其中   父控件确保锚定边缘保持不变   父节点相对于父控件边缘的位置   控制权已调整大小。

但是根据我的经验,不要忘记分配MinimumSize和  MaximumSize控件的{{1}}如果您将表单的大小调整得太小或太大,这些属性有助于控件具有某些最小或最大大小。

答案 1 :(得分:6)

你也可以像这样使用 Dock 属性:

richTextBox1.Dock = DockStyle.Fill;

答案 2 :(得分:0)

这将起作用:

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