L'ajout de la case à datagridview en-tête de colonne, ne pas aligner correctement

Im essayant d'ajouter une case à cocher à un datagridview en-tête de colonne, j'ai trouvé un code en ligne pour les aider, mais il n'est pas en alignant correctement et je ne suis pas vraiment sûr de savoir comment le résoudre.

Ci-dessous une image du problème et le code, toute aide serait grandement appréciée!

P. S. je pense qu'il pourrait être quelque chose à voir avec les propriétés, mais j'ai joué un peu avec eux, mais pas réussi.

L'ajout de la case à datagridview en-tête de colonne, ne pas aligner correctement

Private checkboxHeader231 As CheckBox
Private Sub show_chkBox()
Dim rect As Rectangle = DataGridView1.GetCellDisplayRectangle(columnIndexOfCheckBox, -1, True)
' set checkbox header to center of header cell. +1 pixel to position 
rect.Y = 3
rect.X = rect.Location.X + 8 + (rect.Width / 4)
checkboxHeader231 = New CheckBox()
With checkboxHeader231
    .BackColor = Color.Transparent
End With

checkboxHeader231.Name = "checkboxHeader1"
checkboxHeader231.Size = New Size(18, 18)
checkboxHeader231.Location = rect.Location
AddHandler checkboxHeader231.CheckedChanged, AddressOf checkboxHeader231_CheckedChanged
DataGridView1.Controls.Add(checkboxHeader231)
End Sub

Private Sub checkboxHeader231_CheckedChanged(sender As System.Object, e As System.EventArgs)
Dim headerBox As CheckBox = DirectCast(DataGridView1.Controls.Find("checkboxHeader1", True)(0), CheckBox)
For Each row As DataGridViewRow In DataGridView1.Rows
    row.Cells(columnIndexOfCheckBox).Value = headerBox.Checked
Next
End Sub
  • Qu'est-ce que ce commentaire "" définir la case d'en-tête au centre de la cellule d'en-tête. +1 pixel à la position @
  • J'ai oublié de l'onu-supprimer le morceau de code qui était là avant que j'ai téléchargé, l'un sec, je vais faire le tri!
InformationsquelleAutor Robin L | 2013-03-20