有没有办法让DataGridView CheckBox单元更小?

时间:2009-06-23 00:07:07

标签: winforms datagridview datagridviewcheckboxcell

this question中所述,如果您希望在DataGridViewCheckBoxCell中显示复选框,则显示DataGridView(WinForm而非WPF)中行的最小行高为17。任何较小的复选框都会消失!

有没有办法在DataGridView单元格中放置一个较小的复选框?

2 个答案:

答案 0 :(得分:4)

的确,你必须自己画出控件。从好的方面来说......自己绘制控件并不是那么难。 This是绘制自己的复选框的一个很好的例子(我们在自己的代码中使用了相似的东西)。

只是,而不是覆盖它看起来禁用,你想要覆盖它以使框变小...我没有看到任何方式调用CheckBoxRenderer.DrawCheckBox的大小,但不应该有什么停止你从绘制到你自己的图形对象,自己缩小它,然后绘制你缩小的图像。

答案 1 :(得分:3)

如果您现在使用的是.NET 4.0,则可以使用DataGridView.RowTemplate来调整最小高度。

例如,

DataGridViewRow row = this.dataGridView1.RowTemplate;
row.DefaultCellStyle.BackColor = Color.Bisque;
row.Height = 35;
row.MinimumHeight = 20;

但是,正如this MSDN answer所示,带复选框的行的最小高度为 17像素。似乎没有办法绕过这个问题。

相关问题