DataGridView设置代码中的行高并禁用手动调整大小

时间:2012-01-02 21:43:35

标签: c# winforms datagridview

在我的网格中,我有以下代码行禁用了用户的手动调整大小:

dgvTruckAvail.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

现在我需要在代码中设置列高度,但它不起作用(请参阅DataGridView setting row height doesn't work

我认为正是这行代码导致了无大小问题。但是,现在我需要弄清楚如何

  1. 代码中的行大小
    1. 防止用户自行调整行数
    2. 任何指针?

4 个答案:

答案 0 :(得分:30)

集:

dgvTruckAvail.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
dgvTruckAvail.AllowUserToResizeRows = false;

这将禁用行自动调整大小和手动行调整大小。要设置行高,您可以使用Height的{​​{1}}和MinimumHeight属性。

答案 1 :(得分:3)

设置行大小是一项真正的挑战。检查网络上有多少抱怨和响应。我发现有时一种方式有效,有时则不再有效。

这样做: 在表单上放置一个DataGridView。 编辑并添加多个列。它们是什么并不重要,因为你马上就会放弃这个DGV。 进入这个DataGridView的属性并将RowTemplate / Height编辑为小或大的东西(只有这样才能看到它正常工作)。在方法中添加一行代码,将XXX.RowCount设置为12,只是为了填充此测试DataGridView。运行代码以验证行高已更改。

打开XXX.Designer.cs代码。展开“Windows窗体设计器生成的代码”并查找适用于您刚刚使用DataGridView执行的操作的代码。将其全部复制到您尝试调整/设置行高的方法中。注释掉你的所有代码。逐行修改自生成代码以使用对象的名称。反复测试任何故障并在那时将其隔离。

现在返回并删除此测试DataGridView对象。

答案 2 :(得分:0)

在属性窗口中设置:

AllowUserToResizeRows = False

答案 3 :(得分:0)

这对我有用:  1.打开.Designer.cs(包含gridview的表单)  2.回到gridview设计并编辑所需的任何属性  3.两个标签都将显示*  4.完成

我邀请来宾,修改后的状态不会涉及.Designer.cs文件,因此我们在Designer中所做的修改不适用。