2009-06-23 11 views
8

Come descritto in this question, l'altezza minima della riga per una riga in un DataGridView (WinForm non WPF) è 17 se si desidera visualizzare le caselle di controllo in un DataGridViewCheckBoxCell. Qualsiasi più piccolo e la casella di controllo scompare semplicemente!C'è un modo per ridurre le celle DataGridViewCheckBox?

C'è un modo per posizionare una casella di controllo più piccola in una cella DataGridView?

+1

Dovrai ridisegnare il controllo, penso che non ci sia altro modo – V4Vendetta

risposta

3

Se si utilizza .NET 4.0, è possibile utilizzare DataGridView.RowTemplate per regolare l'altezza minima.

Ad esempio,

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

Tuttavia, come dimostra this MSDN answer l'altezza minima per una riga con caselle di controllo è 17 pixel. Non sembra che ci sia un modo per aggirare questo problema.

4

In effetti, dovrete disegnare il controllo da soli. Il lato positivo ... disegnare il controllo da soli non è poi così difficile. This è un esempio decente di disegnare la propria casella di controllo (stiamo usando qualcosa di simile nel nostro codice).

Semplicemente, invece di sovrascriverlo per sembrare disabilitato, si vuole sovrascriverlo per rendere la scatola più piccola ... Non vedo alcun modo di chiamare CheckBoxRenderer.DrawCheckBox con una dimensione, ma non dovrebbe esserci nulla impedendoti di disegnare nel tuo oggetto grafico, rimpicciolendolo da solo, quindi disegnando l'immagine che hai appena ridotto.

Problemi correlati