Hola Towel. La verdad creo que lo que intentas hacer es algo bastante complejo, asi a simple vista no se me ocurre como hacerlo, te he encontrado algo de informacion por internet a ver si te sirve de ayuda aunque solo sea para empezar. Yo si descubro cosas nuevas te ire poniendo en este post a ver si al final lo puedes solucionar. De momento he encontrado lo siguiente.
http://www.recursosvisualbasic.com.a...n-treeview.htm
He estado ojeando el enlace y se trata de visual basic y para el contenido de las carpetas del explorador de windows, a ver si por lo menos te sirve de guia.
Por otra parte yo lo que haria seria guardar los nombres de cada carpeta en la base de datos con un codigo si alguna tiene "padre" se almacenaria el codigo del "padre"
Yo esta funcion la he usado mucho a la hora de hacer menus dinamicos en paginas web. En caso de que te interese hazmelo saber y te paso el codigo por este post
Mucha suerte en tu proyecto.
Un saludo
Pinty