TreeView チェックボックスの画像の切り捨て
TreeView コントロールの TreeNode を使用すると、ユーザーは DrawMode をカスタマイズし、チェック ボックスを追加できます。 ただし、TreeNode テキスト描画の位置により、チェック ボックスの画像が切り捨てられます。 通常の一般的な使用に影響を与えないようにするには、AppContext スイッチ設定を使用して、このような特定の状況でのチェック ボックスの切り捨てを回避できます。
次の条件がすべて満たされると、チェック ボックスの画像が切り捨てられます。
CheckBoxes
がtrue
に設定されているDrawMode
がOwnerDrawText
に設定されているDrawDefault
は、OnDrawNode
イベントでtrue
に設定されます
以前の動作
以前のバージョンでは、TreeView コントロールが CheckBoxes
に true
、DrawMode
に OwnerDrawText
、そして DrawDefault
が true
に OnDrawNode
イベントで設定されると、TreeNode のチェックボックスイメージが右側の境界で切り詰められた状態で表示されていました。
新しい動作
プロジェクトのランタイム構成ファイルでスイッチ "System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true
を設定すると、TreeView の CheckBoxes
が true
に設定され、DrawMode
が OwnerDrawText
に設定され、OnDrawNode
イベントで DrawDefault
が true
に設定されると、TreeNode のチェックボックスが完全に表示されます。
導入されたバージョン
.NET 10 Preview 1
破壊的変更の種類
この変更は 動作変更です。
変更の理由
この変更により、TreeView コントロールのノードのチェック ボックスを完全に表示できるようになります。
推奨されるアクション
"System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true
をプロジェクトの runtimeconfig.json ファイルに手動で追加して、切り替えを有効にします。
{
"runtimeOptions": {
"configProperties": {
"System.Windows.Forms.TreeView.MoveTreeViewTextLocationOnePixel": true
}
}
}
影響を受ける API
.NET