Frage

Wie in diese Frage Es erscheint die minimale Zeilenhöhe für eine Zeile in einer DataGridView (winForm nicht WPF) 17, wenn Sie möchten Kontrollkästchen anzeigen In einem DataGridViewCheckBoxCell. Jedes kleinere und das Kontrollkästchen verschwindet einfach!

Gibt es eine Möglichkeit, ein kleineres Kontrollkästchen in einer DataGridView -Zelle zu platzieren?

War es hilfreich?

Lösung

Wenn Sie jetzt .NET 4.0 verwenden, können Sie die verwenden DataGridView.RowTemplate um die minimale Höhe einzustellen.

Zum Beispiel,

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

Wie jedoch nachweist Diese MSDN -Antwort Die Mindesthöhe für eine Reihe mit Kontrollkästchen ist 17 Pixel. Es scheint nicht, dass dieses Problem einen Weg gibt.

Andere Tipps

In der Tat müssen Sie die Kontrolle selbst zeichnen. Auf der positiven Seite ... das Zeichnen der Kontrolle selbst ist nicht wirklich so schwer. Dies ist ein anständiges Beispiel dafür, Ihr eigenes Kontrollkästchen zu zeichnen (wir verwenden etwas, das in unserem eigenen Code ziemlich ähnlich ist).

Anstatt es zu überschreiben, um deaktiviert auszusehen, möchten Sie es überschreiben, um das Feld kleiner zu machen ... Ich sehe keine Möglichkeit, CheckBoxRenderer.Drawcheckbox mit einer Größe aufzurufen, aber es sollte nichts vor dem Zeichnen hinderten In Ihr eigenes Grafikobjekt, schrumpfen Sie es selbst und zeichnen Sie dann das Bild, das Sie gerade geschrumpft haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top