La Web del Programador: Comunidad de Programadores
 
    Pregunta:  55640 - COMO CREAR UN ARCHIVO DE TEXTO DENTRO DE UN TREEVIEW
Autor:  claudia lopez
estoy haciendo un sgbd y necesito crear un archivo de texto que aparesca dentro de la carpeta q creo para que me guarde datos y me muestre el archivo de texto en eltreeview dentro de la carpeta ya creada .

  Respuesta:  Carlos R Serrano
Hola colega, estos métodos que siguen a continuación se encargan de mostrar en un treeView las carpetas de una raíz dada así como todo sus ficheros incluyendo los de texto, lo que tendrías que hacer es crear tus ficheros de texto dentro de alguna carpeta que este en este árbol y luego explorarlo para que cargue el nuevo fichero.

private void CrearArbol(string directorioInicial)

{
DirectoryInfo infoDirectorio = new DirectoryInfo(directorioInicial);
DirectoryInfo[] carpetas = infoDirectorio.GetDirectories();

treeView1.Nodes.Clear();

for (int i = 0; i < carpetas.Length; i++)
{
treeView1.Nodes.Add(carpetas[i].FullName, carpetas[i].Name);
AgregarDirectorios(treeView1.Nodes[i], carpetas[i].FullName);
treeView1.SelectedNode = treeView1.Nodes[i];
AgregarFicheros(carpetas[i].FullName);
}

}

private void AgregarDirectorios(TreeNode nodo, string ruta)
{
try
{
DirectoryInfo infoDirectorio = new DirectoryInfo(ruta);
DirectoryInfo[] carpetas = infoDirectorio.GetDirectories();

for (int i = 0; i < carpetas.Length; i++)
{
nodo.Nodes.Add(carpetas[i].FullName, carpetas[i].Name);
AgregarDirectorios(nodo.Nodes[i], carpetas[i].FullName);
treeView1.SelectedNode = nodo.Nodes[i];
AgregarFicheros(carpetas[i].FullName);
}

}
catch { }
}

private void AgregarFicheros(string directorio)
{
try
{
DirectoryInfo infoDirectorio = new DirectoryInfo(directorio);
FileInfo[] archivos = infoDirectorio.GetFiles();

for (int i = 0; i < archivos.Length; i++)
{
treeView1.SelectedNode.Nodes.Add(archivos[i].FullName, archivos[i].Name,1,1);
}

}
catch { }
}

//Despues de escrito los metodo solo tienes que llamar al metodo CrearArbol y pasarle
//como parametro la carpeta que sera la raiz de la cual se creara el arbol
//Ej.
private void Form1_Load(object sender, EventArgs e)
{
CrearArbol(Application.StartupPath);
}