C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: TreeViewのチェック


(過去ログ 77 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■45248 / inTopicNo.1)  TreeViewのチェック
  
□投稿者/ 初心者 (107回)-(2010/01/07(Thu) 14:48:28)

分類:[C#] 

VS2008 C#で開発しています。

TreeViewのチェックのことで教えてください。

チェックボックスつきのTreeViewを作っているのですが、
親アイテムのチェックが付いたとき、子アイテム全てにチェックがつく。
親アイテムのチェックが外れた時、子アイテム全てにチェックがはずれるように
するにはどのようにすれば出来るのでしょうか?
引用返信 編集キー/
■45255 / inTopicNo.2)  Re[1]: TreeViewのチェック
□投稿者/ επιστημη (2371回)-(2010/01/07(Thu) 15:27:05)
επιστημη さんの Web サイト
TreeView上のアイテムTreeNodeには
子アイテム群:TreeNodeCollectionを
表すプロパティ:Nodesがあります。

これで答になってますかしらね。

引用返信 編集キー/
■45256 / inTopicNo.3)  Re[1]: TreeViewのチェック
□投稿者/ 魔界の仮面弁士 (1438回)-(2010/01/07(Thu) 15:28:26)
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の子要素は何もチェックされていない」
という状態になりえますが、それで問題は無いのですよね?

引用返信 編集キー/
■45273 / inTopicNo.4)  Re[2]: TreeViewのチェック
□投稿者/ 初心者 (108回)-(2010/01/07(Thu) 18:28:36)

επιστημη さん
魔界の仮面弁士 さん

回答ありがとうございます。

魔界の仮面弁士 さん
まさに行いたいことでした。

> では、さらにその後で、
>  (3) 1-1-1、1-1-2、1-1-3 のチェックを外す。
> という操作を行うと、
>  「1-1 はチェックされているにも関わらず、1-1の子要素は何もチェックされていない」
> という状態になりえますが、それで問題は無いのですよね?
問題ありません。

本当にありがとうございました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -