Поделиться через


Усечение изображения флажка в TreeView

TreeNode в элементе управления TreeView позволяет пользователям настраивать DrawMode и добавлять флажки. Однако изображение флажка будет усечено из-за положения текста элемента TreeNode. Чтобы избежать влияния на обычное, частое использование, можно использовать параметр переключателя AppContext, чтобы избежать усечения флажков в этих конкретных ситуациях.

При выполнении всех следующих условий изображение флажка усечено:

  • CheckBoxes установлено в true
  • DrawMode установлен на OwnerDrawText
  • DrawDefault задано значение true в событии OnDrawNode

Предыдущее поведение

В предыдущих версиях, когда в элементе управления TreeView CheckBoxes было установлено значение true, DrawMode было установлено на OwnerDrawText, а DrawDefault установлено на true в событии OnDrawNode, изображения флажков TreeNode были усечены на правом краю.

Новое поведение

Установив переключатель "System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true в файле конфигурации среды выполнения проекта, флажки TreeNode отображаются полностью, когда в TreeView CheckBoxes установлено в true, DrawMode установлено в OwnerDrawTextи DrawDefault установлено в true в событии OnDrawNode.

Представленная версия

.NET 10 (предварительная версия 1)

Тип критического изменения

Это изменение связано с изменением поведения.

Причина изменения

Это изменение гарантирует полное отображение флажка узла в элементе управления TreeView.

Вручную добавьте "System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true в файл проекта runtimeconfig.json для активации переключателя.

{
    "runtimeOptions": {
        "configProperties": {
            "System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true
        }
    }
}

Затронутые API