UI 要素の 1 つとして TreeView を使用した .Net デスクトップ アプリケーションがあります。
その TreeView を複数選択できるようにしたいのですが、それはまったくサポートされていません。
だから私はツリーにチェックボックスを追加しています.私の問題は、いくつかの項目だけが選択可能であり、そうでないものは選択を一貫してカスケードできないことです.
他のチェックボックスを表示しながら、いくつかのチェックボックスを無効または非表示にする方法はありますか?
TreeViewのデフォルトの動作では、Checkboxesプロパティがtrueに設定されている場合、そのチェックボックスはすべてのTreeNodeに表示されます。
探している動作(一部のチェックボックスを無効または非表示にする)は、通常の動作のカスタム変更です。デフォルトの動作をオーバーライドするTreeViewまたはTreeNodeのカスタム実装を作成できます。もう1つ試してみるのは、TreeViewを使用することです。StateImageListプロパティ。詳細については、いくつかのサイトをチェックしてください。
最近書いたエディターでも非常によく似た問題がありました。最後に、TreeNode
'sBackColor
プロパティを使用して、ノードの選択状態を決定しました。SelectionChanged
次に、Shift / Controlキーの状態をチェックして、選択したノードが選択範囲に追加/削除されたのか、新しい選択範囲を作成したのかを判断するイベントのハンドラーを作成しました。Generic::List<>
ツリー検索を排除するために現在選択されているノードもいくつかありました。
.NET に複数選択ツリービューがないのはなぜですか? 1つには非常に多くの用途があり、ツリービューでチェックボックスをオンにすることはかなりお粗末な代替手段です.