[.NET] Agregar nodos a un Treeview en el form Pincipal desde un Form Secundario

Este es el primer articulo de la serie de .NET anunciados en un el articulo de aqui  … Lo que vamos a hacer ahora es agregar nodos a un treeview que esta posicionado en el form principal, pero para agregarlos usaremos un form secundario que se abrira al seleccionar la opcion agregar nodo del menu principal.

Como paso principal vamos a crear y darle forma a nuestros formularios, primero nuestro form principal :

*** Form Principal

El form Pincipal estara conformado por el treeview y por el stripmenu, el tripmenu contendra una opcion «agregar nodo».

Aqui tenemos una imagen del form principal sin ninguna modificacion, pero tras agregar los elementos veremos como cambiara  :

Este es el stripmenu su icono coloreado de amarillito por el visual studio 2010 y su descripcion :

Tambien la opcion del treeview con su icono y descripcion :

Tras agregar los elementos al form principal y despues de acomodarlos bien tendremos algo mas o menos asi :

Una vez listas estas preparaciones en nuestro formulario principal vamos a proseguir agregando un nuevo formulario a nuestro proyecto, primero vamos al explorador del proyecto y sobre el icono con nombre del proyecto damos click derecho y nos aparecera un menu sobre el cual seleccionaremos la opcion agregar despues saldra otro menu del cual seleccionaremos «Windows Form» :

Una vez seleccionada la opcion de agregar windows form nos aparecera una ventana donde estara ya seleccionada la opcion windows form de entre otras, solo nos quedara ponerle un nombre a ese archivo, para este caso sera «Agregar» y despues damos [ENTER].

Despues de haber hecho esto nos aparecera el formulario limpio es decir sin ningun elemento :

A este formulario que sera el secundario le agregaremos 3 controles basicos los cuales no agregare su icono como los anteriores, por que estos 3 son los mas basicos … 1 label, 1 textbox y 1 boton : posicionamos los elementos en el lugar que mas nos guste del formulario y estaremos listos para continuar, despues de agregar y acomodar elementos, el formulario nos quedara asi :

Llegados a este punto, ya estamos listo para empezar a poner codigo … por ultimo vamos a agregar una clase nueva a nuestro proyecto, esta clase la hara de mediadora entre el formulario principal y el formulario secundario … agregamos la clase de la misma forma que agregamos otro formulario «windows Forms» solo que cuando aparece la ventana para escojer, elegimos Agregar Clase en lugar de Agregar Windows Form y le ponemos un nombre, en este caso : Mediador.

Bueno ahora si todo listo , vamos a codificar … primero : dentro de la clase Mediador, agregaremos el ensamblado de System.Window.Forms para poder usar los tipos de datos de windows forms, y seguimos con el codigo :

public static TreeView tree;

public static void AgregaNodo(string nodo) {
TreeNode node = new TreeNode();
node.Text = nodo;
tree.Nodes.Add(node);
}

Ahora en el archivo de codigo del formulario principal despues de la inicializacion de componentes agregamos la siguiente linea :

Mediador.tree = treeView1;

Con esto hacemos que el elemento treeView sea estatico en la clase mediador, por tanto cualquir modificacion que le haga la clase Mediador al tree interno se vera reflejado en el treeView1 del formulario principal.

Ahora vamos al stripmenu y le damos dobleclick a la opcion Agregar Nodo , a lo que nos mandara a la seccion de codigo de la funcion, donde haremos que se muestre nuestro formulario secundario entonces escribimos el siguiente codigo :

Agregar add = new Agregar();
add.ShowDialog();

Luego nos vamos al formulario secundario Agregar y justo sobre el botoncito agregar damos doble click para entrar en el evento click que sera el cual agregara el nodo y dentro del evento click escribimos :

if (textBox1.Text != "") {
Mediador.AgregaNodo(textBox1.Text);
this.Close();
}

Vemos que en la funcion del evento click hacemos una llamada a la funcion agregaNodo de la clase Mediador, pues en esa clase se modifica el treeview. y con lal linea this.Close cerramos el formulario de agregar al terminar el proceso de agregado.Con el if validamos que el nombre del nodo para agregar no este vacio.

Con esto lograremos que al abrir el formulario secundario y agregar el nombre de un nodo, se agregue al treeview del formulario principal.

La version con codigo completo funcionando la pueden descargar de aqui. Aceptamos dudas comentarios, opiniones y quejas 🙂

Related Posts Plugin for WordPress, Blogger...

publicidad

1 Comment

Deja una respuesta

Tu dirección de correo electrónico no será publicada.