Udostępnij za pośrednictwem


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 na true w zdarzeniu OnDrawNode

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.

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
        }
    }
}

Interfejsy API, których dotyczy problem