• ベストアンサー

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#に詳しい人、回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • oboroxx
  • ベストアンサー率40% (317/792)
回答No.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)

回答No.1

未検証だけど,多分… http://msdn.microsoft.com/en-us/library/system.windows.forms.treenode_members.aspxhttp://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.treenode_members.aspx にChildNodesがあるか確認してみて。よーくみると…。 #Nodesプロパティって使えるのかなあ

関連するQ&A

専門家に質問してみよう