■No45248 (初心者 さん) に返信 > どのようにすれば出来るのでしょうか? こうかな。 private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) { foreach (TreeNode node in e.Node.Nodes) node.Checked = e.Node.Checked; } > チェックボックスつきのTreeViewを作っているのですが 念のために確認。たとえば、 -------------------- [_]項目1 ┣[_]項目1-1 ┃┣[_]項目1-1-1 ┃┣[_]項目1-1-2 ┃┗[_]項目1-1-3 ┗[_]項目1-2 ┣[_]項目1-2-1 ┗[_]項目1-2-2 -------------------- という階層があった場合、 > 親アイテムのチェックが付いたとき、子アイテム全てにチェックがつく。 > 親アイテムのチェックが外れた時、子アイテム全てにチェックがはずれるように この条件に合わせると、 (1) 項目1-1にチェックを付ける。 (2) 1-1-1、1-1-2、1-1-3 にもチェックが入る。 という動作になるかと思います。つまり、 「1-1 がチェックされており、1-1の子要素がすべてチェックされている」 という状態ですね。 では、さらにその後で、 (3) 1-1-1、1-1-2、1-1-3 のチェックを外す。 という操作を行うと、 「1-1 はチェックされているにも関わらず、1-1の子要素は何もチェックされていない」 という状態になりえますが、それで問題は無いのですよね?
- Child Tree -