public partial class Form1 : Form
{
int cont = 1;
public List<Persona> personas = new List<Persona>();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Persona nuevoPersona = new Persona(1, "Personas");
personas.Add(nuevoPersona);
TreeNode nodoPersona = new TreeNode();
nodoPersona.Text = nuevoPersona.Nombre;
nodoPersona.Tag = nuevoPersona;
treeVPersonas.Nodes.Add(nodoPersona);
comboBGenero.Items.Add("Masculino");
comboBGenero.Items.Add("Femenino");
btnModificar.Enabled = false;
btnGuardar.Enabled = false;
btnEliminar.Enabled = true;
treeVPersonas.Enabled = false;
comboBGenero.Enabled = true;
txtNombre.Enabled = false;
}
private void btnGuardar_Click(object sender, EventArgs e)
{
Persona nuevoPersona = new Persona(cont++, txtNombre.Text,comboBGenero.Text);
Persona personaSeleccionada = (Persona)treeVPersonas.SelectedNode.Tag;
BuscarPadre(personas, personaSeleccionada, nuevoPersona);
lblId.Text = Convert.ToString(cont++);
txtNombre.Clear();
}
public void BuscarPadre(List<Persona> person, Persona nodoPadre, Persona nodoHijo)
{
foreach (Persona x in person)
{
if (x.Id == nodoPadre.Id)
{
x.ListaPersonas.Clear();
x.ListaPersonas.Add(nodoHijo);
TreeNode nodoSeleccionado = treeVPersonas.SelectedNode;
llenarArbol(x.ListaPersonas, nodoSeleccionado);
break;
}
if (x.ListaPersonas.Count > 0)
{
BuscarPadre(x.ListaPersonas, nodoPadre, nodoHijo);
}
}
}
public void llenarArbol(List<Persona> personlist, TreeNode nodoPadre)
{
int i = 0;
foreach (Persona x in personlist)
{
TreeNode nodoHijo = new TreeNode();
nodoHijo.Text = x.Nombre;
nodoHijo.Tag = x;
nodoPadre.Nodes.Add(nodoHijo);
if (x.ListaPersonas.Count > 0)
{
llenarArbol(x.ListaPersonas, nodoPadre.Nodes[i]);
}
i++;
}
}
private void btnEliminar_Click(object sender, EventArgs e)
{
treeVPersonas.SelectedNode.Remove();
}
private void btnNuevo_Click(object sender, EventArgs e)
{
btnNuevo.Enabled = false;
btnGuardar.Enabled = true;
btnEliminar.Enabled = true;
btnModificar.Enabled = false;
treeVPersonas.Enabled = true;
comboBGenero.Enabled = true;
txtNombre.Enabled = true;
}
}
}
No hay comentarios:
Publicar un comentario