Foros del Web » Programación para mayores de 30 ;) » .NET »

Seleccionar nodo en treeView

Estas en el tema de Seleccionar nodo en treeView en el foro de .NET en Foros del Web. Buenos dias He creado un arbol, el cual uso para mostrar diferentes groupBox de acuerdo al nodo hoja seleccionado, pero es eso precisamente lo q ...
  #1 (permalink)  
Antiguo 29/08/2007, 10:54
 
Fecha de Ingreso: agosto-2006
Mensajes: 99
Antigüedad: 18 años, 7 meses
Puntos: 0
Seleccionar nodo en treeView

Buenos dias
He creado un arbol, el cual uso para mostrar diferentes groupBox de acuerdo al nodo hoja seleccionado, pero es eso precisamente lo q no se cómo hacer, ¿me podrian ayudar?. Les dejo el metodo de la creacion del arbol

public void CrearArbol()
{
//Creacion del nodo Basicos
TreeNode NodoSubBasicos = new TreeNode("Básicos");
TreeNode NodoDat = new TreeNode("Datos ");
TreeNode NodoInf= new TreeNode("Información ");
TreeNode NodoBasicos = new TreeNode("Básicos", new TreeNode[] { NodoSubBasicos,NodoDat,NodoInf });

//Creacion del nodo Condiciones
TreeNode NodoCond = new TreeNode("Condiciones ");
TreeNode NodoActi= new TreeNode("Activos");
TreeNode NodoAval= new TreeNode("Avales");
TreeNode NodoOpe = new TreeNode("Operación");

TreeNode NodoCondic = new TreeNode("Condiciones", new TreeNode[] {NodoCond,NodoActi,NodoAval,NodoOpe});


TreeNode NodoRaiz = new TreeNode("Inicial", new TreeNode[] { NodoBasicos,NodoCondic});


NodoBasicos.Name = "NodoBasicos";
NodoRaiz.Name = "NodoRaiz";
arbol.Nodes.Add(NodoRaiz);
}


Lo que quiero es q por ejemplo al hacer clic en el nodo "informacion" (NodoInf), en la forma me muestre un groupBox en el q hay diferentes componentes como textbox, label, etc. En principio todos los groupBox estan con Visible=false, asi q cuando se seleccione el nodo la propiedad cambie a valor True....pero ¿cómo saber cual fue el nodo q se selecciono?

Gracias x la ayuda
  #2 (permalink)  
Antiguo 03/09/2007, 17:33
 
Fecha de Ingreso: julio-2005
Ubicación: México, ciuudad de Guanajuato
Mensajes: 202
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: Seleccionar nodo en treeView

a ok carnal....


Tu puedes usar el evento

Código:
private void treeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
en el puedes accesar al nodo seleccionado .. Pero lo chido es esto
al momento qeu tu creas tus nodos del arbol, cada nodo cuenta con una propiedad "tag" en el cual recibe un objeto.... A es propiedad le puedes asignar cual tipo de objeto qeu identifque tu nodo... por ejemplo yo hice algo asi cuando necesitaba cierto valores..

primero hice una subclase pequeña.... Aca fresona...

Código:
public class ControlNode
        {
            private TypeNodo nodo;
            private string idNodo;
            private string operacion;

            public TypeNodo vNodo
            {
                get{return nodo;}
                set{nodo = value;}
            }
            public string vIdNodo
            {
                get { return idNodo; }
                set { idNodo = value; }
            }
            public string vOperacion
            {
                get { return operacion; }
                set { operacion = value; }
            }
           
            public ControlNode()
            {
            
            }

            public ControlNode( TypeNodo nodo , string id)
            {
                this.nodo = nodo;
                this.idNodo = id;
            }
        }

al momento qeu voy creando mis nodos le hago asi , para identificarlos

Código:
TreeNode  nodoEncuestas = new TreeNode();
 nodoEncuestas.Tag =  new ControlNode(TypeNodo.Encuesta, "1");



entonces ya cuando se ejecute el evento de

private void treeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)

puedes accesar al nodo con su propiedad tag en el cual ya contiene un objeto con "n" propiedades

Código:
objControlNodeSelected = (ControlNode)e.Node.Tag;
Y ya puedes accesar a los valores de tu nodo con todas sus propiedades que le creaste.. Aunque no es necesario qeu hagas la clasesita yo lo hice por que lo ocupaba.. Espero que te halla servido..
__________________
Hay que echar desman ,,,, Mientras se pueda:-D
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:51.