【问题标题】:C# - Stretching a textbox to fit the containing windowC# - 拉伸文本框以适应包含窗口
【发布时间】:2012-01-23 04:46:50
【问题描述】:

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

目前我有:

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

...对于宽度,但我想知道这是否正确。有没有更好的办法?

【问题讨论】:

  • 将文本框放在表单上您想要的位置,并将 Anchor 属性设置为 Top、Bottom、Left 和 Right。
  • @Mooz,将此添加为答案,而不是评论:)
  • @Moozhe,如果你把它放在那里,我会接受它作为答案:D
  • 我讨厌给出一行答案。如果我回答,我觉得有义务提供示例代码以及对 Docking、Anching 和 margin 的精彩世界的详细解释。

标签: c# winforms visual-studio resize


【解决方案1】:

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

使用 Anchor 属性定义控件如何自动 调整其父控件的大小。 将控件锚定到它的 父控件确保锚定边缘保持不变 父控件相对于父控件边缘的位置 控件已调整大小。

但根据我的经验,不要忘记分配MinimumSizeMaximumSize 控件的这些属性有助于在您将表单调整得太小或太大时,控件具有一定的最小或最大尺寸。

【讨论】:

    【解决方案2】:

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

    richTextBox1.Dock = DockStyle.Fill;
    

    【讨论】:

      【解决方案3】:

      这将起作用:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-18
        • 2011-11-14
        • 1970-01-01
        • 2013-03-21
        • 2015-07-20
        • 2013-08-22
        相关资源
        最近更新 更多