【问题标题】:How do I set the row height of a DataGrid in WinForms?如何在 WinForms 中设置 DataGrid 的行高?
【发布时间】:2023-03-19 16:25:01
【问题描述】:

如何在 DataGrid 中设置行高?我看不到任何地方可以实现这一目标。我使用的是 .NET 3.5,它是一个用 C# 编写的 WinForms 应用程序。

已编辑

这是分配数据源的一段代码,您可以看到我在此之前设置了首选高度

        dgMyGrid.PreferredRowHeight = 64;

        dgMyGrid.DataSource = samples;

【问题讨论】:

  • 我想这会有你的答案:stackoverflow.com/questions/8705640/…
  • 我没有使用 DataGridView。我正在使用 DataGrid。
  • 当面向 .net 3.5 时,您应该使用 DataGridView 控件; DataGrid 只是为了向后兼容。见msdn.microsoft.com/en-us/library/ms171628(v=vs.90).aspx
  • ...应该考虑,如果您不使用 DataGrid 的主/详细信息功能,也许可以作为一种解决方法。无意冒犯。
  • 是的,我知道,但不幸的是,我没有时间重新编写应用程序。这似乎是一个常见的事情:“你应该使用这个而不是那个”。没有冒犯,不用担心。

标签: c# winforms datagrid .net-3.5


【解决方案1】:

如果我没记错的话,有一个名为 PreferredRowHeight 的属性。应该在数据绑定之前设置。

【讨论】:

  • 谢谢,但它根本不影响高度。看起来像一个不做任何事情的属性。
  • 您是否在 Datasource 之前设置了 PreferredHeight 属性? (参见其他答案中的示例)
【解决方案2】:

史蒂夫的回答有效:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        dataGrid1.PreferredRowHeight = 64;
        myTableAdapter.Fill(myDataSet.myTable);
    }
}

将生成一个高度为 64 行的网格。但是,这不起作用:

    private void Form1_Load(object sender, EventArgs e)
    {
        myTableAdapter.Fill(myDataSet.myTable);
        dataGrid1.PreferredRowHeight = 64; // has no effect because the grid is already drawn
    }

【讨论】:

    猜你喜欢
    • 2021-10-31
    • 2010-11-13
    • 2014-06-15
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 2021-06-13
    • 2017-06-15
    相关资源
    最近更新 更多