private void botonCrearCarpeta_Click(object sender, EventArgs e) { FolderBrowserDialog navegadorCarpetas = new FolderBrowserDialog(); if (navegadorCarpetas.ShowDialog() == DialogResult.OK) { string nombreNodo = navegadorCarpetas.SelectedPath; nombreNodo = nombreNodo.Trim(); clases.carpeta nuevaCarpeta = new clases.carpeta(nombreNodo); paths_carpetas.Add(nuevaCarpeta); char delimiter = '\\'; String[] substrings = nombreNodo.Split(delimiter); String nombreCarpeta = ""; foreach (var substring in substrings) { nombreCarpeta = substring; } vistaArbol.Nodes.Add(nombreCarpeta); //Console.WriteLine(navegadorCarpetas.SelectedPath); } }
public void dibujarNodo(String path) { string nombreNodo = path; nombreNodo = nombreNodo.Trim(); //clases.carpeta nuevaCarpeta = new clases.carpeta(nombreNodo); char delimiter = '\\'; String[] substrings = nombreNodo.Split(delimiter); String nombreArchivo = ""; foreach (var substring in substrings) { nombreArchivo = substring; } //Obtenemos la carpeta. substrings = nombreNodo.Split(delimiter); String nombreCarpeta = ""; String path_carpeta = ""; for (int c = 0; c < substrings.Length - 1; c++) { nombreCarpeta = substrings[c]; path_carpeta += substrings[c] + "\\"; } clases.carpeta tmpCarpeta = new clases.carpeta(nombreCarpeta); clases.carpeta nuevaCarpeta = new clases.carpeta(nombreCarpeta); nuevaCarpeta.path = path_carpeta; //Buscamos si la carpeta ya está en el arbol. int i = 0; int posicion = -1; foreach (clases.carpeta obj in paths_carpetas) { //Console.WriteLine("{0}",obj.nombre); //Console.WriteLine("{0}",nombreCarpeta); if (obj.nombre.Equals(nombreCarpeta)) { posicion = i; Console.WriteLine("Carpeta Montada en el sistemas."); } i++; } if (posicion == -1) // Significa que no está la carpeta en el sistema de archivos (Arbol :v). { TreeNode carpeta = new TreeNode(); carpeta.Name = nombreCarpeta; carpeta.Text = nombreCarpeta; carpeta.ImageIndex = 0; TreeNode archivo = new TreeNode(); archivo.Name = nombreArchivo; archivo.Text = nombreArchivo; //Verificamos qué icono le agregamos delimiter = '.'; substrings = nombreNodo.Split(delimiter); if (substrings[1].Equals("tree")) { archivo.ImageIndex = 2; } else { archivo.ImageIndex = 1; } carpeta.Nodes.Add(archivo); vistaArbol.Nodes.Add(carpeta); nuevaCarpeta.nombre = carpeta.Name; paths_carpetas.Add(nuevaCarpeta); } else // Significa que si está la carpeta en el sistema de archivos (Arbol :v). { //Primero obtenemos una copia del nodo actual. TreeNode[] carpetas = vistaArbol.Nodes.Find(nombreCarpeta, false); TreeNode tmp = carpetas[0]; //Ahora verificamos que el archivo no esté ya en el sistema de archivos. int Archivo_posicion = -1; i = 0; foreach (TreeNode archivotmp in tmp.Nodes) { if (archivotmp.Name.Equals(nombreArchivo)) { Archivo_posicion = i; } i++; } if (Archivo_posicion == -1) { TreeNode archivo = new TreeNode(); archivo.Name = nombreArchivo; archivo.Text = nombreArchivo; //Obtenemos el icono que se le agrega al anodo segun el archivo que sea. delimiter = '.'; substrings = nombreNodo.Split(delimiter); if (substrings[1].Equals("tree")) { archivo.ImageIndex = 2; } else { archivo.ImageIndex = 1; } //archivo.ImageIndex = 2; tmp.ImageIndex = 0; tmp.Nodes.Add(archivo); tmp.ImageIndex = 0; vistaArbol.Nodes.RemoveAt(posicion); vistaArbol.Nodes.Add(tmp); nuevaCarpeta.nombre = tmp.Name; paths_carpetas.RemoveAt(posicion); paths_carpetas.Insert(posicion, nuevaCarpeta); } else { MessageBox.Show("El archivo seleccionado ya se encuentra cargado en el sistema."); } //TreeNode carpeta = new TreeNode(); } }