次の方法で共有


TreeView チェックボックスの画像の切り捨て

TreeView コントロールの TreeNode を使用すると、ユーザーは DrawMode をカスタマイズし、チェック ボックスを追加できます。 ただし、TreeNode テキスト描画の位置により、チェック ボックスの画像が切り捨てられます。 通常の一般的な使用に影響を与えないようにするには、AppContext スイッチ設定を使用して、このような特定の状況でのチェック ボックスの切り捨てを回避できます。

次の条件がすべて満たされると、チェック ボックスの画像が切り捨てられます。

  • CheckBoxestrue に設定されている
  • DrawModeOwnerDrawText に設定されている
  • DrawDefault は、OnDrawNode イベントで true に設定されます

以前の動作

以前のバージョンでは、TreeView コントロールが CheckBoxestrueDrawModeOwnerDrawText、そして DrawDefaulttrueOnDrawNode イベントで設定されると、TreeNode のチェックボックスイメージが右側の境界で切り詰められた状態で表示されていました。

新しい動作

プロジェクトのランタイム構成ファイルでスイッチ "System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true を設定すると、TreeView の CheckBoxestrueに設定され、DrawModeOwnerDrawTextに設定され、OnDrawNode イベントで DrawDefaulttrue に設定されると、TreeNode のチェックボックスが完全に表示されます。

導入されたバージョン

.NET 10 Preview 1

破壊的変更の種類

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

変更の理由

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

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

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

影響を受ける API