给Windows窗体控件设置百分比宽度/高度

16

对于Windows窗体开发还比较新手,但在Web开发方面经验丰富。是否有一种方法可以为Windows窗体控件分配百分比宽度/高度,以便随着用户调整窗口大小而扩展/收缩?虽然可以编写代码来更改控件的宽度/高度,但我希望有一种更好的方法,就像HTML/CSS中一样。有吗?


你可以锚定控件,这样它们就会自动调整大小...不确定这是否足够满足您的要求 - http://msdn.microsoft.com/en-us/library/system.windows.forms.control.anchor.aspx - NDJ
尝试使用TableLayoutPanel来实现。 - LarsTech
@NDJ anchor 属性对我的需求非常有效(我想要控件的宽度/高度为100%),但不能完全回答这个问题,因为只有通过锚定无法实现90%的宽度这样的事情。 - AlliterativeAlice
有点跑题,但我强烈推荐使用 WPF(或任何其他基于 XAML 的框架),而不是 winforms,特别是如果你来自 Web 开发背景。XAML 范例比传统的 winforms 过程式方法更接近 Web 范例。此外,winforms 是一项非常古老的技术,如果你不真正需要它,就不应该浪费时间去学习它。winforms 只建议用于维护遗留应用程序,但已不再用于任何新项目。 - Federico Berasategui
1
在WPF中,您可以使用简单的“Grid”实现百分比大小。 - Federico Berasategui
很高兴在这种情况下锚定有所帮助 - 我必须同意@HighCore的观点 - 如果可以的话,WPF是未来的方向。 - NDJ
1个回答

20

简而言之,不行。但是您可以在父控件的调整大小事件中轻松地以编程方式完成。例如:

    private void Form1_Resize(object sender, EventArgs e)
    {
        dataGridView1.Width = Convert.ToInt32(this.Width * 0.9);
        dataGridView1.Height = Convert.ToInt32(this.Height * 0.9);
    }

但是如果可以的话,像上面评论中提到的那样,使用WPF。


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