選択したノードがコントロールの子ノードであるか親ノードであるかを確認するにはどうすればよいTreeViewですか?
55392 次
5 に答える
36
このようなチェックをどのように実装するかは、「子」ノードと「親」ノードをどのように定義するかによって異なります。TreeNodeただし、重要な情報を提供する、各オブジェクトによって公開される2つのプロパティがあります。
Nodesプロパティは、そのTreeNode特定のノードに含まれるオブジェクトのコレクションを返します。したがって、選択したノードに含まれる子ノードの数を確認するだけで、それが親ノードであるかどうかを判断できます。if (selectedNode.Nodes.Count == 0) { MessageBox.Show("The node does not have any children."); } else { MessageBox.Show("The node has children, so it must be a parent."); }詳細情報を取得するには、プロパティの値を調べることもでき
Parentます。この値がの場合、ノードは(親を持たない)nullのルートレベルにあります。TreeViewif (selectedNode.Parent == null) { MessageBox.Show("The node does not have a parent."); } else { MessageBox.Show("The node has a parent, so it must be a child."); }
于 2011-04-16T06:00:03.977 に答える
7
TreeNode.Parentこのためにプロパティを使用できます。
その値がnull-referenceの場合、ノードはルートレベルにあります。
TreeView treeView = ...
var selectedNode = treeView.SelectedNode;
if(selectedNode ! = null)
{
if(selectedNode.Parent == null)
{
// Root-level node
}
else
{
// Child node
}
}
else
{
// A node hasn't been selected.
}
于 2011-04-16T05:57:31.367 に答える
1
これを試して
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
Label1.Text = "";
if(e.Node.Parent!= null &&
e.Node.Parent.GetType() == typeof(TreeNode) )
{
Label1.Text = "Parent: " + e.Node.Parent.Text + "\n"
+ "Index Position: " + e.Node.Parent.Index.ToString();
}
else
{
Label1.Text = "This is parent node.";
}
}
于 2013-11-26T09:41:00.973 に答える
0
ルートノードは親TreeViewです..->のタイプを比較するかどうかを確認することができます
if (currentNode.Parent.GetType() == typeof(TreeView))
{
// root node
}
于 2016-10-04T07:52:26.303 に答える
-1
treeview.SelectedNode == null
選択するのが最適です。
于 2012-10-09T03:37:47.343 に答える