Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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();
            }
        }