- ベストアンサー
C# ツリービューの使い方
現在、Microsoft Visual C# 2008 Express Editionでプログラムを作成しているのですが、ツリービューの使い方がよくわかりません。 具体的には、ツリービューとリストビューを左右に並べて、ツリービューのノードをクリックしたときに、その子ノードをリストビューに表示したいと考えています。 そこで、 ツリービューのNodeMouseClickイベントで foreach ( TreeNode child in this.treeView1.SelectedNode.ChildNodes ) { //リストにノードを表示する } と記述したのですが、 「'System.Windows.Forms.TreeNode' に 'ChildNodes' の定義が含まれておらず、型 'System.Windows.Forms.TreeNode' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。」 というエラーが発生しました。 これを解決するにはどうすればいいのでしょうか?また、私が実装しようと考えている機能を、ツリービューとリストビューを併用した方法以外でより効率的にかけたりしますか? C#に詳しい人、回答よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じですかね。 void dirTv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { list.Items.Clear(); TreeView tv = (TreeView)sender; TreeNode stn = e.Node; //クリックされたノード foreach (TreeNode tn in stn.Nodes) { list.Items.Add(tn.Text); } list.Refresh();
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
未検証だけど,多分… http://msdn.microsoft.com/en-us/library/system.windows.forms.treenode_members.aspx と http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.treenode_members.aspx にChildNodesがあるか確認してみて。よーくみると…。 #Nodesプロパティって使えるのかなあ