Вы можете использовать простую рекурсию. Не уверен, что именно вы хотите отобразить в TreeView, но следующий подход может работать
public static void LoadDir (TreeNode t, DirectoryInfo d) {
TreeNodetn = новый TreeNode (d.name);
t.ChildNodes.Add (tn);
foreach (DirectoryInfo dn в d.GetDirectories ())
LoadDir (т, дп);}
Вы можете вызвать его как
TreeNode tn = новый TreeNode ("Root");
TreeView1.Nodes.Add (tn);
LoadDir (tn, новый DirectoryInfo (@ "C: \ Oracle");