Troncature de l'image de la case à cocher TreeView
Le TreeNode dans le contrôle TreeView permet aux utilisateurs de personnaliser le DrawMode et d’ajouter des cases à cocher. Cependant, l'image de la case à cocher sera tronquée en raison de la position du dessin du texte du TreeNode. Pour éviter d’affecter une utilisation normale, courante, vous pouvez utiliser un paramètre de commutateur AppContext pour éviter la troncation de case à cocher dans ces situations spécifiques.
L’image de case à cocher est tronquée lorsque toutes les conditions suivantes sont remplies :
-
CheckBoxes
est défini surtrue
-
DrawMode
est défini surOwnerDrawText
-
DrawDefault
est défini surtrue
dans le prochain événementOnDrawNode
Comportement précédent
Dans les versions précédentes, lorsque le contrôle TreeView avait CheckBoxes
défini sur true
, DrawMode
défini sur OwnerDrawText
et DrawDefault
défini sur true
dans l’événement OnDrawNode
, les images de case à cocher TreeNode ont été tronquées sur la bordure droite.
Nouveau comportement
En définissant le commutateur "System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true
dans le fichier de configuration d’exécution du projet, les cases à cocher TreeNode s’affichent complètement lorsque TreeView a CheckBoxes
défini sur true
, DrawMode
défini sur OwnerDrawText
et DrawDefault
défini sur true
dans l’événement OnDrawNode
.
Version introduite
.NET 10 Preview 1
Type de changement cassant
Ce changement est un changement comportemental .
Raison de la modification
Cette modification garantit que la case à cocher du nœud dans le contrôle TreeView peut être entièrement affichée.
Action recommandée
Ajoutez manuellement "System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true
au fichier runtimeconfig.json du projet pour activer le commutateur.
{
"runtimeOptions": {
"configProperties": {
"System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true
}
}
}