Advertisement
Guest User

Untitled

a guest
Dec 21st, 2014
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. private int total_dirs;
  2. private int searched_until_now_dirs;
  3. private int max_percentage;
  4. private TreeNode directories_real_time;
  5. private string SummaryText;
  6.  
  7. private TreeNode CreateDirectoryNode(string path, string name , int recursive_levl )
  8. {
  9. var directoryNode = new TreeNode(name);
  10. var directoryListing = GetDirectoryListing(path);
  11.  
  12. var directories = directoryListing.Where(d => d.IsDirectory);
  13. var files = directoryListing.Where(d => !d.IsDirectory);
  14.  
  15. total_dirs += directories.Count<FTPListDetail>();
  16. searched_until_now_dirs++;
  17.  
  18. int percentage;
  19.  
  20. foreach (var dir in directories)
  21. {
  22.  
  23. directoryNode.Nodes.Add(CreateDirectoryNode(dir.FullPath, dir.Name, recursive_levl+1));
  24.  
  25.  
  26. if (recursive_levl == 1)
  27. {
  28. TreeNode temp_tn = (TreeNode)directoryNode.Clone();
  29.  
  30. this.BeginInvoke(new MethodInvoker( delegate
  31. {
  32. UpdateList(temp_tn);
  33. }));
  34. }
  35.  
  36.  
  37. percentage = (searched_until_now_dirs * 100) / total_dirs;
  38. if (percentage > max_percentage)
  39. {
  40. SummaryText = String.Format("Searched dirs {0} / Total dirs {1}", searched_until_now_dirs, total_dirs);
  41. max_percentage = percentage;
  42. backgroundWorker1.ReportProgress(percentage, SummaryText);
  43. }
  44. }
  45.  
  46. percentage = (searched_until_now_dirs * 100) / total_dirs;
  47. if (percentage > max_percentage)
  48. {
  49. SummaryText = String.Format("Searched dirs {0} / Total dirs {1}", searched_until_now_dirs, total_dirs);
  50. max_percentage = percentage;
  51. backgroundWorker1.ReportProgress(percentage, SummaryText);
  52. }
  53.  
  54. foreach (var file in files)
  55. {
  56. TreeNode file_tree_node = new TreeNode(file.Name);
  57. file_tree_node.Tag = "file";
  58.  
  59. directoryNode.Nodes.Add(file_tree_node);
  60. numberOfFiles.Add(file.FullPath);
  61. }
  62. return directoryNode;
  63. }
  64.  
  65. private void menuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
  66. {
  67. if (e.ClickedItem.Text == "Delete")
  68. {
  69. if (treeView1.SelectedNode.Tag != null)
  70. {
  71. string s = (string)treeView1.SelectedNode.Tag; // this is casting
  72. string s1 = treeView1.SelectedNode.Tag as string;
  73. if (s == "file")
  74. {
  75. DeleteFile(treeView1.SelectedNode.FullPath);
  76. }
  77. }
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement