Przycinanie grafiki pola wyboru TreeView
TreeNode w kontrolce TreeView umożliwia użytkownikom dostosowywanie funkcji DrawMode i dodawanie pól wyboru. Jednak obraz pola wyboru zostanie obcięty ze względu na położenie rysunku tekstowego TreeNode. Aby uniknąć wpływu na normalne użycie, można użyć ustawienia przełącznika AppContext, aby zapobiec obcięciu pól wyboru w określonych sytuacjach.
Obraz pola wyboru jest obcinany po spełnieniu wszystkich następujących warunków:
-
CheckBoxes
jest ustawiona na wartośćtrue
-
DrawMode
jest ustawiona na wartośćOwnerDrawText
-
DrawDefault
jest ustawiony natrue
w zdarzeniuOnDrawNode
Poprzednie zachowanie
W poprzednich wersjach, gdy kontrolka TreeView miała CheckBoxes
ustawioną na true
, DrawMode
ustawioną na OwnerDrawText
, a DrawDefault
ustawioną na true
w zdarzeniu OnDrawNode
, obrazy pól wyboru TreeNode były obcięte na prawym brzegu.
Nowe zachowanie
Ustawiając przełącznik "System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true
w pliku konfiguracyjnym środowiska uruchomieniowego projektu, pola wyboru TreeNode są wyświetlane w pełni, gdy TreeView ma ustawioną wartość CheckBoxes
na true
, DrawMode
na OwnerDrawText
, i DrawDefault
na true
podczas zdarzenia OnDrawNode
.
Wprowadzona wersja
.NET 10 (wersja zapoznawcza 1)
Typ zmiany przełamującej
Ta zmiana jest zmianą behawioralną.
Przyczyna zmiany
Ta zmiana gwarantuje, że pole wyboru węzła w kontrolce TreeView może być w pełni wyświetlane.
Zalecana akcja
Ręcznie dodaj "System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true
do pliku projektu runtimeconfig.json, aby włączyć przełącznik.
{
"runtimeOptions": {
"configProperties": {
"System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true
}
}
}