c# - net - ¿Cómo puedo determinar si el nodo seleccionado es un nodo secundario o primario en TreeView?
treeview c# ejemplos (5)
La forma exacta en que implementa dicha verificación depende de cómo defina los nodos "hijo" y "padre". Pero hay dos propiedades expuestas por cada objeto TreeNode
que proporcionan información importante:
La propiedad
Nodes
devuelve la colección de objetosTreeNode
contenidos por ese nodo en particular. Entonces, simplemente verificando cuántos nodos secundarios contiene el nodo seleccionado, puede determinar si es un nodo principal o no: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."); }
Para obtener más información, también puede examinar el valor de la propiedad principal. Si este valor es
null
, entonces el nodo se encuentra en el nivel raíz deTreeView
(no tiene un padre):if (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."); }
¿Cómo puedo saber si el nodo seleccionado es un nodo secundario o un nodo primario en el control TreeView
?
Para el nodo raíz es el TreeView principal ... es posible verificar si comparamos los tipos de ->
if (currentNode.Parent.GetType() == typeof(TreeView))
{
// root node
}
Prueba esto
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.";
}
}
Puedes usar la propiedad TreeNode.Parent
para esto.
Si su valor es una referencia null
, el nodo se encuentra en el nivel raíz.
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.
}
treeview.SelectedNode == null
Es lo mejor para elegir.