Question

Comme décrit dans cette question , il apparaît que la hauteur de ligne minimale pour une ligne dans un DataGridView (WinForm not WPF) est de 17 si vous souhaitez afficher les cases à cocher dans un DataGridViewCheckBoxCell. Plus petit et la case à cocher disparaît tout simplement!

Existe-t-il un moyen de placer une case plus petite dans une cellule DataGridView?

Était-ce utile?

La solution

Si vous utilisez maintenant .NET 4.0, vous pouvez utiliser le fichier DataGridView.RowTemplate pour régler la hauteur minimale.

Par exemple,

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

Toutefois, comme le prouve cette réponse MSDN , la hauteur minimale pour une ligne avec des cases à cocher est 17 pixels . Il ne semble pas que ce problème puisse être résolu.

Autres conseils

En effet, vous devrez dessiner vous-même le contrôle. Du côté des avantages ... dessiner le contrôle vous-même n'est pas si difficile. Ceci est un bon exemple de votre propre case à cocher (nous utilisons quelque chose plutôt similaire dans notre propre code).

Au lieu de lui donner l'apparence désactivée, vous voulez la remplacer pour réduire la taille de la boîte ... Je ne vois aucun moyen d'appeler CheckBoxRenderer.DrawCheckBox avec une taille, mais rien ne devrait s'arrêter de dessiner dans votre propre objet graphique, de le réduire vous-même, puis de dessiner l'image que vous venez de rétrécir.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top