c# - 按百分比设置组件尺寸

标签 c# winforms

在按百分比重新调整表单大小(例如最大化)后,我需要设置组件的宽度和长度(例如 DGV(DataGridView))。例如,我的 DGV 的宽度应变为 100%,高度应变为 45%。

我读到了有关 Dock 和 Anchor 的内容,但我无法通过这些选项实现我的想法。

有没有合适的方法来解决这个问题?

最佳答案

您可以使用TableLayoutPanel处理您的布局。

对于您的示例,创建一个具有单列和两行的 TableLayoutPanel,将行大小设置为 55% 和 45%,并将 DataGridView 添加到第二个专栏。

示例:

var form = new Form();

var dgv = new DataGridView { Dock = DockStyle.Fill };

var table = new TableLayoutPanel 
{ 
    Dock = DockStyle.Fill,
    ColumnCount = 1,
    RowCount = 2
};

table.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
table.RowStyles.Add(new RowStyle(SizeType.Percent, 55F));
table.RowStyles.Add(new RowStyle(SizeType.Percent, 45F));

table.Controls.Add(dgv, 0, 1);

form.Controls.Add(table);

form.ShowDialog();

enter image description here

关于c# - 按百分比设置组件尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18530776/

相关文章:

C# 垃圾收集器开始/结束回调

c# - 避免 SQL 查询、预订应用程序中的重复值

c++ - win forms C++/CLI 如何使用 header 中的 .cpp 类

c# - 图像 GDI+ 错误 c#

c# - 在 C# 中从父级运行子表单进程

c# - 澳洲邮政运费计算

c# - 将变量传递给验证器

c# - 错误 : string[] does not contain a definition for 'Contains' - works and doesn't work

c# - 使用 TableAdapter 重新加载数据

c# - 在代码文件中添加更多命名空间会影响性能吗?