【问题标题】:How to resize all controls on a form at run-time?如何在运行时调整窗体上所有控件的大小?
【发布时间】:2013-01-11 01:38:30
【问题描述】:

我有一个包含 PictureBox 控件网格的 Windows 窗体。我希望能够在运行时调整整个表单的大小,并让所有这些 PictureBox 控件按比例动态调整大小(缩放)以适应表单的新大小。目标是避免仅仅因为我想要不同的大小而必须制作基本上会使用相同 .cs 文件的单独资源文件。

【问题讨论】:

    标签: c# .net winforms resize controls


    【解决方案1】:

    尝试使用TableLayoutPanel 控件,所有行和列都处于百分比模式。

    new Form {
        Controls = {
            new TableLayoutPanel {
                Dock = DockStyle.Fill,
                ColumnCount = 2,
                Controls = {
                    new Button {Text = "0,0", Dock = DockStyle.Fill},
                    new Button {Text = "1,0", Dock = DockStyle.Fill},
                    new Button {Text = "0,1", Dock = DockStyle.Fill},
                    new Button {Text = "1,1", Dock = DockStyle.Fill}
                },
                RowStyles = {
                    new RowStyle(SizeType.Percent) {Height = 1},
                    new RowStyle(SizeType.Percent) {Height = 1}
                },
                ColumnStyles = {
                    new ColumnStyle(SizeType.Percent) {Width = 1},
                    new ColumnStyle(SizeType.Percent) {Width = 1}
                }
            }
        }
    }.ShowDialog();
    

    【讨论】:

    • 太棒了,伙计!你摇滚!你知道 TableLayoutPanel 是否可以嵌套吗?我需要制作一个非常复杂的表格,其中一个“单元格”有多个较小的单元格,而其他的则不那么复杂。再次感谢!
    • 我可以毫无问题地嵌套它们。我现在的问题是是否可以为子控件使用 .NET 自动缩放字体,或者开发人员是否必须手动执行此操作?
    猜你喜欢
    • 1970-01-01
    • 2012-05-17
    • 2023-01-15
    • 2017-03-08
    • 1970-01-01
    • 2013-04-30
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多