Есть ли способ уменьшить размер ячеек DataGridViewCheckBox? - PullRequest
8 голосов
/ 23 июня 2009

Как описано в этот вопрос кажется, что минимальная высота строки для строки в DataGridView (WinForm не WPF) равна 17, если вы хотите отобразить флажки в DataGridViewCheckBoxCell. Меньше, и флажок просто исчезает!

Есть ли способ поместить меньший флажок в ячейку DataGridView?

Ответы [ 2 ]

4 голосов
/ 29 июня 2011

В самом деле, вам придется самостоятельно управлять. С положительной стороны ... Самостоятельно получить контроль не так уж и сложно. - хороший пример отрисовки собственного флажка (мы используем нечто похожее в нашем собственном коде).

Просто вместо того, чтобы переопределить его, чтобы он выглядел отключенным, вы хотите переопределить его, чтобы уменьшить размер окна ... Я не вижу способа вызвать CheckBoxRenderer.DrawCheckBox с размером, но ничего не должно останавливать Вы рисуете в свой собственный графический объект, уменьшаете его сами, затем рисуете изображение, которое вы только что сократили.

3 голосов
/ 29 июня 2011

Если вы сейчас используете .NET 4.0, вы можете использовать DataGridView.RowTemplate для настройки минимальной высоты.

Например,

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

Однако, как свидетельствует этот ответ MSDN , минимальная высота строки с флажками составляет 17 пикселей . Похоже, что нет способа обойти эту проблему.

...