3

UI 要素の 1 つとして TreeView を使用した .Net デスクトップ アプリケーションがあります。

その TreeView を複数選択できるようにしたいのですが、それはまったくサポートされていません。

だから私はツリーにチェックボックスを追加しています.私の問題は、いくつかの項目だけが選択可能であり、そうでないものは選択を一貫してカスケードできないことです.

他のチェックボックスを表示しながら、いくつかのチェックボックスを無効または非表示にする方法はありますか?

4

3 に答える 3

4

TreeViewのデフォルトの動作では、Checkboxesプロパティがtrueに設定されている場合、そのチェックボックスはすべてのTreeNodeに表示されます。

探している動作(一部のチェックボックスを無効または非表示にする)は、通常の動作のカスタム変更です。デフォルトの動作をオーバーライドするTreeViewまたはTreeNodeのカスタム実装を作成できます。もう1つ試してみるのは、TreeViewを使用することです。StateImageListプロパティ。詳細については、いくつかのサイトをチェックしてください。

于 2008-09-02T10:08:44.827 に答える
1

最近書いたエディターでも非常によく似た問題がありました。最後に、TreeNode'sBackColorプロパティを使用して、ノードの選択状態を決定しました。SelectionChanged次に、Shift / Controlキーの状態をチェックして、選択したノードが選択範囲に追加/削除されたのか、新しい選択範囲を作成したのかを判断するイベントのハンドラーを作成しました。Generic::List<>ツリー検索を排除するために現在選択されているノードもいくつかありました。

于 2008-09-02T10:10:49.940 に答える
0

MultiSelectTreeView :

.NET に複数選択ツリービューがないのはなぜですか? 1つには非常に多くの用途があり、ツリービューでチェックボックスをオンにすることはかなりお粗末な代替手段です.

于 2008-09-02T19:59:24.720 に答える