ASP.NETの質問なのでWindows Formsと思いこまないように注意しましょう。 ■No34788 (しまうま さん) に返信 > (参考Webサイトとはちょっと違いますが、参考通りだと「'System.Web.UI.WebControls.TreeNode' に 'Remove' の定義がありません。」とでます。TreeView1.SelectedNodeプロパティにはRemoveメソッドがないとの意味なのかと思っておりますが・・・) > Webサイトに乗っているプロパティなどもちょっと違ったりするので(同じC#と言っていても記載されているプロパティやメソッドがない場合があります。もちろんバージョンとかにも依存するとは思いますが・・・)他にメソッドなどがあるのかなど(Clearとか)も調べてみましたが、だめでした。 参考サイトはWindows Formsの話です。 ASP.NETでは同じ名前のクラスでも、全く別物ですのでやり方が違うことが多いと思います。 ASP.NET(System.Web.UI.WebControls.TreeNode) http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.treenode.aspx Windows Forms(System.Windows.Forms.TreeNode) http://msdn.microsoft.com/ja-jp/library/system.windows.forms.treenode.aspx > なぜ子ノードだと削除されないのか、教えてください!!(削除対象となるノードの指定の仕方が悪いのでしょうか?) > よろしくお願いします。 TreeView.NodesでRemoveを実行すると一番上のノード一覧から削除するイメージです。 子ノードだけ消したい場合は、その一つ上のノード一覧から削除しなければなりません。 イメージとしてはこんな感じかな? TreeNode selectedNode = TreeView1.SelectedNode; if (selectedNode == null) return; TreeNode parentNode = selectedNode.Parent; if (parentNode != null) { parentNode.ChildNodes.Remove(selectedNode); } else { TreeView1.Nodes.Remove(selectedNode); }
- Child Tree -