Domanda

Come descritto in questa domanda sembra che l'altezza minima della riga per una riga in un DataGridView (WinForm non WPF) sia 17 se si desidera visualizzare le caselle di controllo in un DataGridViewCheckBoxCell. Qualsiasi più piccolo e la casella di controllo scompare semplicemente!

Esiste un modo per posizionare una casella di controllo più piccola in una cella DataGridView?

È stato utile?

Soluzione

Se ora si utilizza .NET 4.0, è possibile utilizzare la 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 evidenziato da questa risposta MSDN l'altezza minima per una riga con caselle di controllo è 17 pixel . Non sembra che ci sia alcun modo per aggirare questo problema.

Altri suggerimenti

In effetti, dovrai disegnare tu stesso il controllo. Tra i lati positivi ... attirare il controllo da soli non è poi così difficile. Questo è un esempio decente di disegnare la tua casella di controllo (stiamo usando qualcosa piuttosto simile nel nostro codice).

Solo, invece di sovrascriverlo per sembrare disabilitato, vuoi sovrascriverlo per rendere la scatola più piccola ... Non vedo alcun modo di chiamare CheckBoxRenderer.DrawCheckBox con una dimensione, ma non ci dovrebbe essere nulla che si fermi dal disegnare nel tuo oggetto grafico, ridurlo tu stesso, quindi disegnare l'immagine che hai appena ridotto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top