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 を設定すると、TreeView の CheckBoxes が trueに設定され、DrawMode が OwnerDrawTextに設定され、DrawDefault イベントで true が OnDrawNode に設定されると、TreeNode のチェックボックスが完全に表示されます。

導入されたバージョン

.NET 10

破壊的変更の種類

この変更は 動作変更です。

変更の理由

この変更により、TreeView コントロールのノードのチェック ボックスを完全に表示できるようになります。

"System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true をプロジェクトの runtimeconfig.json ファイルに手動で追加して、切り替えを有効にします。

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

影響を受ける API