elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Empezando en C#: Mis problemas con TreeView
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Empezando en C#: Mis problemas con TreeView  (Leído 6,664 veces)
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Empezando en C#: Mis problemas con TreeView
« en: 17 Octubre 2010, 17:48 pm »

Buenas a todos, me presento y me estreno en este foro :P
Hace ya un tiempo tenia ganas de meterme en esto del C# y el .NET en general (Yo vengo de C++ y Java), gracias al amigo D4N93R, se me pusieron los dientes largos y decidí probarlo :P

Ahora os traigo mi primera duda, estoy diseñando una aplicación sencilla, como ejercicio, y pretendo hacerla bastante dinamica.
Es basicamente un programa en el que tu introduces un nombre en una textBox y mediante un boton lo escribes y vas añadiendo en forma de nodos de un arbol a un TreeView.

El problema se presenta cuando quiero añadir un nodo dentro de otro nodo.
Es posible hacerlo? Como?

Os dejo el codigo que tengo hecho:

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace WindowsFormsApplication1
  11. {
  12.    public partial class Form1 : Form
  13.    {
  14.        public Form1()
  15.        {
  16.            InitializeComponent();
  17.        }
  18.  
  19.        private void Form1_Load(object sender, EventArgs e)
  20.        {
  21.  
  22.  
  23.        }
  24.  
  25.        private void introducir_Click(object sender, EventArgs e)
  26.        {
  27.            TreeNode nodo = new TreeNode(nombreNodo.Text);
  28.            arbolClientes.Nodes.Add(nodo);
  29.        }
  30.    }
  31. }



EDITO: Solucionado xD ahora me salta el problema que no se como volver a la raiz, osea dejar de añadir sub-nodos dentro de uno general xD Tengo la sospecha de que debo cambiar el selected node, el problema es que no se detectar si hay alguno selecionado, no se si existe alguna condicion.

Os dejo el nuevo codigo:

Código
  1.  
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Windows.Forms;
  10.  
  11. namespace WindowsFormsApplication1
  12. {
  13.    public partial class Form1 : Form
  14.    {
  15.        public TreeNode nodo;
  16.        public TreeNode nodo1;
  17.        public Dictionary<String, TreeNode> biblioteca;
  18.        public Boolean primera = true;
  19.        public Form1()
  20.        {
  21.            InitializeComponent();
  22.        }
  23.  
  24.        private void Form1_Load(object sender, EventArgs e)
  25.        {
  26.  
  27.  
  28.        }
  29.  
  30.        private void introducir_Click(object sender, EventArgs e)
  31.        {
  32.            nodo = new TreeNode(nombreNodo.Text);
  33.            if (primera)
  34.            {
  35.                arbolClientes.Nodes.Add(nodo);
  36.                primera = false;
  37.            }
  38.            else
  39.            {
  40.                arbolClientes.SelectedNode.Nodes.Add(nodo);
  41.            }
  42.  
  43.        }
  44.  
  45.        private void btnBorrar_Click(object sender, EventArgs e)
  46.        {
  47.            arbolClientes.Nodes.Remove(arbolClientes.SelectedNode);
  48.        }
  49.    }
  50. }

Saludos a todos :D


« Última modificación: 17 Octubre 2010, 18:31 pm por Debci » En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Empezando en C#: Mis problemas con TreeView
« Respuesta #1 en: 17 Octubre 2010, 19:16 pm »

Hola Debci x)

Mira, tienes varias propiedades dentro del treeview que te van a ayudar mucho en el manejo de los nodos, es un resumen de las propiedades más importantes.

ContextMenu   Gets or sets the shortcut menu associated with the control. (Inherited from Control.)
ContextMenuStrip   Gets or sets the ContextMenuStrip associated with this control. (Inherited from Control.)
Nodes   Gets the collection of tree nodes that are assigned to the tree view control.
SelectedNode   Gets or sets the tree node that is currently selected in the tree view control.


Y estos son del nodo como tal:

FirstNode    Gets the first child tree node in the tree node collection.
FullPath   Gets the path from the root tree node to the current tree node.
Index   Gets the position of the tree node in the tree node collection.
IsSelected   Gets a value indicating whether the tree node is in the selected state.
NextNode   Gets the next sibling tree node.
Nodes   Gets the collection of TreeNode objects assigned to the current tree node.
PrevNode   Gets the previous sibling tree node.
Parent   Gets the parent tree node of the current tree node.

PD: puse todo esto porque no entendí tu pregunta :P Quieres ir a la raiz del nodo que borraste? lo sacas con Parent del nodo antes de eliminarlo del treeview.

Un saludo!


En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Empezando en C#: Mis problemas con TreeView
« Respuesta #2 en: 17 Octubre 2010, 20:24 pm »

Muchas gracias jeje ya lo habia leido pero no esta mal refrescarlo, mi duda es, como puedo setear el nodo actual, osea el selecionado, a 0, a ninguno, para poder añadir nuevos nodos a la raiz del treeView.

Muchas gracias de nuevo.

Un saludo
En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Empezando en C#: Mis problemas con TreeView
« Respuesta #3 en: 18 Octubre 2010, 00:54 am »

Ah ok, bueno, si es entre la lista de nodos principales, es decir, de los que dependen directamente del treeview treeView1.Nodes.Insert(<index>, <el nodo aca>) en donde si pones 0 en el index va a insertarse de primero. Igual puedes hacer lo mismo con los hijos de otros Nodes.. :) El treeview es bastante poderoso y configurable, es el que usa windows. De hecho es hasta extendible, por ahí vi una especia de Gridview+TreeView muyinteresante.

Un saludo!
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Empezando en C#: Mis problemas con TreeView
« Respuesta #4 en: 18 Octubre 2010, 15:55 pm »

Muchas gracias por tus respuestas.

Un saludo!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Empezando en C y con problemas que google y el libro no me solucionan.
Programación C/C++
Lotharsan 6 3,910 Último mensaje 29 Marzo 2012, 12:44 pm
por Lotharsan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines