有没有办法让 DataGridViewCheckBox 单元格变小?

发布于 2024-07-25 03:35:54 字数 227 浏览 4 评论 0原文

这个问题中所述,如果,DataGridView(WinForm而不是WPF)中的行的最小行高为17您希望在 DataGridViewCheckBoxCell 中显示复选框。 如果更小,复选框就会消失!

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

As described in this question it appears the minimum row height for a row in a DataGridView (WinForm not WPF) is 17 if you wish to display check boxes in a DataGridViewCheckBoxCell. Any smaller and the check box simply disappears!

Is there a way to place a smaller checkbox in a DataGridView cell?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

柏林苍穹下 2024-08-01 03:35:54

事实上,您必须自己绘制控件。 从好的方面来说......自己绘制控件实际上并不那么难。 是绘制自己的复选框的一个不错的示例(我们正在使用一些东西而不是与我们自己的代码类似)。

只是,您不想覆盖它以使其看起来已禁用,而是想覆盖它以使框变小...我看不到任何使用大小调用 CheckBoxRenderer.DrawCheckBox 的方法,但不应该有任何东西阻止您绘制到你自己的图形对象中,自己缩小它,然后绘制你刚刚缩小的图像。

Indeed, you will have to draw the control yourself. On the plus side... drawing the control yourself isn't actually that hard. This is a decent example of drawing your own checkbox (we're using something rather similar in our own code).

Just, instead of overriding it to look disabled, you want to override it to make the box smaller... I don't see any way of calling CheckBoxRenderer.DrawCheckBox with a size, but there shouldn't be anything stopping you from drawing into your own graphics object, shrinking it yourself, then drawing the image you just shrunk.

星軌x 2024-08-01 03:35:54

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

例如,

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

但是,正如 此 MSDN 答案 带有复选框的行的最小高度为 17 像素。 似乎没有任何方法可以解决这个问题。

If you are now using .NET 4.0, you can use the DataGridView.RowTemplate to adjust the minimum height.

For example,

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

However, as evidenced by this MSDN answer the minimum height for a row with check boxes is 17 pixels. It does not appear there is any way around this problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文