2009-06-23 10 views
8

Como se describe en this question, parece que la altura mínima de fila para una fila en un DataGridView (WinForm no WPF) es 17 si desea mostrar las casillas de verificación en un DataGridViewCheckBoxCell. ¡Cualquier casilla más pequeña y simplemente desaparece!¿Hay alguna manera de hacer que las celdas DataGridViewCheckBox sean más pequeñas?

¿Hay alguna manera de colocar una casilla de verificación más pequeña en una celda DataGridView?

+1

Tendrás que volver a dibujar el control, creo que no hay otra manera – V4Vendetta

Respuesta

3

Si está utilizando .NET 4.0, puede usar DataGridView.RowTemplate para ajustar la altura mínima.

Por ejemplo,

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

Sin embargo, como se evidencia por this MSDN answer la altura mínima para una fila con casillas de verificación es 17 pixeles. No parece que haya forma de evitar este problema.

4

De hecho, tendrá que dibujar el control usted mismo. En el lado positivo ... dibujar el control por ti mismo no es realmente tan difícil. This es un ejemplo decente de dibujar su propia casilla de verificación (estamos usando algo bastante similar en nuestro propio código).

Simplemente, en lugar de anularlo para que parezca deshabilitado, desea anularlo para que el cuadro sea más pequeño ... No veo ninguna forma de llamar a CheckBoxRenderer.DrawCheckBox con un tamaño, pero no debería haber nada impidiéndole dibujar en su propio objeto gráfico, encogiéndolo usted mismo, y luego dibujando la imagen que acaba de encoger.

Cuestiones relacionadas