如本问题所述,如果您希望在 DataGridViewCheckBoxCell 中显示复选框,则 DataGridView(WinForm 不是 WPF)中的行的最小行高为 17 。任何更小,复选框都会消失!
有没有办法在 DataGridView 单元格中放置一个较小的复选框?
如本问题所述,如果您希望在 DataGridViewCheckBoxCell 中显示复选框,则 DataGridView(WinForm 不是 WPF)中的行的最小行高为 17 。任何更小,复选框都会消失!
有没有办法在 DataGridView 单元格中放置一个较小的复选框?
实际上,您必须自己绘制控件。从好的方面来说......自己绘制控件实际上并不难。这是绘制您自己的复选框的一个不错的示例(我们在自己的代码中使用了类似的东西)。
只是,您不想覆盖它以使其看起来被禁用,而是要覆盖它以使框更小...我看不到任何使用大小调用 CheckBoxRenderer.DrawCheckBox 的方法,但是不应该有任何东西阻止您绘图到你自己的图形对象中,自己缩小它,然后绘制你刚刚缩小的图像。
如果您现在使用的是 .NET 4.0,则可以使用DataGridView.RowTemplate来调整最小高度。
例如,
DataGridViewRow row = this.dataGridView1.RowTemplate;
row.DefaultCellStyle.BackColor = Color.Bisque;
row.Height = 35;
row.MinimumHeight = 20;
但是,正如这个 MSDN 回答所证明的那样,带有复选框的行的最小高度是17 像素。似乎没有任何方法可以解决这个问题。