Evilnapsis

Programming, Hacking and More

Desktop Development

Llenar de datos, Eventos y limpiar un TreeView en Visual Studio y C# .NET

El componente TreeView del Visual Studio sirve para crear Arboles de datos o jerarquías. Veamos como usarlo.

Lo primero que debemos hacer es Abrir el Visual Studio y crear un nuevo proyecto de Windows Forms.

El componente TreeView

Despues en el Cuadro de Herramientas vamos a localizar el componente TreeView y lo vamos a agregar a nuestra ventana principal o la ventana donde lo necesitemos.

Una vez agregado el componente lo veremos como en la siguiente imagen. Es el cuadro blanco, lo podemos ubicar y redimensionar como lo necesitemos.

Por default la variable del primer TreeView seria “treeView1” y así lo vamos a manejar, si quieres cambiar el nombre de la variable lo puedes hacer.

Llenar de datos el TreeView

Para agregar datos a el TreeView o Vista de Arbol se usan Nodos, con la clase TreeNode.

Para agregar un Nodo, debemos hacer lo siguiente.

TreeNode node1 = new TreeNode();
node1.Text = "Nivel 1";
node1.Tag = "node1";

treeView1.Nodes.Add(node1);

Como podemos ver creamos un TreeNode con variable node1, le asignamos un Texto y una etiqueta, las etiquetas son útiles para manejar la función de cada nodo.

Al final llamamos a la funcion treeView1.Nodes.Add(param) que tiene como parámetro uno o varios nodos para agregar al Arbol.

Podemos agregar todos los nodos que necesitemos.

También se pueden agregar Nodos a un TreeNode, por ejemplo:

TreeNode node1 = new TreeNode();
node1.Text = "Nivel 1";
node1.Tag = "node1";

TreeNode node2 = new TreeNode();
node2.Text = "Nivel 1.1";
node2.Tag = "node1_1";

/// Agregamos el nodo1_1 a el nodo1
node1.Nodes.Add(node2);
/// Agregamos el nodo1 a el TreeView
treeView1.Nodes.Add(node1);

En este segundo ejemplo creamos 2 TreeNode, pero uno lo usamos como SubNodo.

El resultado seria el siguiente:

Es posible crear todo tipo de jerarquías de nodos, de diferentes niveles.

Eventos del TreeView y Nodos

Como todos los componentes de Visual Studio, el TreeView cuenta con múltiples Eventos que se disparan con acciones del usuario, por ejemplo:

  • Eventos del Mouse
  • Eventos del Teclado
  • Eventos de Nodos

Los eventos de Mouse y teclado se manejan como todos los otros componentes, aquí los importantes son los Eventos de Nodos.

Los eventos de Nodos nos permiten interactuar con los nodos. Tenemos principalmente los eventos: NodeMouseClick y NodeMouseDoubleClick que se activan a hacer un click o doble click a un nodo.

En mi caso tengo el siguiente método/función con el evento NodeMouseClick.

private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
    MessageBox.Show(e.Node.Tag.ToString());
}

La función me da como un resultado la variable e.Node que contiene una instancia a el Nodo seleccionado. Con esta instancia podemos obtener los valores del nodo (texto y etiqueta), también podemos agregar mas nodos o eliminar nodos hijos, incluso eliminar el mismo nodo seleccionado.

Si queremos realizar una función especifica al hacer click en un nodo debemos hacer algo asi.

private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
	if(e.Node.Tag.ToString()=="node1"){
		/// Llamar a una funcion
	}
}

Hacemos una condicional y dependiendo de la etiqueta se va a ejecutar una función, según lo programemos.

Eliminar nodos

Para eliminar nodos simplemente tenemos la función treeView.Remove(param) que tiene como parámetro un nodo, dentro del TreeView.

También es posible usar la función TreeView.Remove(node) para eliminar un Nodo que se encuentra dentro de un TreeNode.

Limpiar Nodos

Para Eliminar todos los nodos y empezar de nuevo tenemos.

treeView1.Nodes.Clear();

Finalizando

El Treeview es un componente muy interesante, es usado por muchos programas para mostrar jerarquías de opciones o archivos.

Agustin Ramos

Desarrollador de Software

Leave a Reply