private void find0(object param) { param1 p = (param1)param; string name = p.sr; List <DirectoryInfo> roots = p.root; list_sours1 in_rez = p.res; List <DirectoryInfo> di = new List <DirectoryInfo>(); List <FileInfo> fi = new List <FileInfo>(); foreach (DirectoryInfo d in roots) { find(name, d, di, fi); } foreach (DirectoryInfo d in di) { in_rez.l_all.Add(new item(d, "dir", true)); } foreach (FileInfo f in fi) { in_rez.l_all.Add(new item(f, "file", true)); } }
public panel(list_sours1 l_s1 = null) { DriveInfo[] temp = DriveInfo.GetDrives(); if (l_s1 != null) { list_all_s1 = l_s1; } else { list_all_s1 = new list_sours1(); } alldrives = new List <DriveInfo>(); for (int i = 0; i < temp.Length; ++i) { try { string st = temp[i].VolumeLabel; alldrives.Add(temp[i]); } catch { temp[i] = null; } } current_drive = 0; roots = new List <DirectoryInfo>(); current_dir = new DirectoryInfo(alldrives[0].RootDirectory.Name); Directory.SetCurrentDirectory(current_dir.Name); sub_dir_list = current_dir.EnumerateDirectories(); file_list = current_dir.EnumerateFiles(); foreach (DriveInfo dr in alldrives) { roots.Add(dr.RootDirectory); } list_all_s1.l_all.Add(new item()); foreach (DirectoryInfo dir in sub_dir_list) { list_all_s1.l_all.Add(new item(dir)); } foreach (FileInfo file in file_list) { list_all_s1.l_all.Add(new item(file, "file")); } }
private void serch_b1_Click(object sender, RoutedEventArgs e) { serch_b1.IsEnabled = false; string serch_st = " "; Window1 w1 = new Window1(); if (w1.ShowDialog() == true) { serch_st = w1.name; } list_sours1 s_rez = new list_sours1(); param1 p = new param1(serch_st, inactiv_w.roots, s_rez); deleg_run d_run = find0; d_run.BeginInvoke(p, end_serch, s_rez); prog_bar2.Visibility = Visibility.Visible; }
void end_serch(IAsyncResult as_res) { list_sours1 l_rez = (list_sours1)as_res.AsyncState; if (lr) { this.Dispatcher.Invoke(new Action(() => { bs_r.DataSource = null; bs_r.DataSource = l_rez; })); } else { this.Dispatcher.Invoke(new Action(() => { bs_l.DataSource = null; bs_l.DataSource = l_rez; })); } this.Dispatcher.Invoke(new Action(() => { serch_b1.IsEnabled = true; prog_bar2.Visibility = Visibility.Hidden; })); }
public MainWindow() { InitializeComponent(); this.components = new System.ComponentModel.Container(); l_sourse = new list_sours1(this.components); r_sourse = new list_sours1(this.components); main_l = new panel(l_sourse); main_r = new panel(r_sourse); lr = true; activ_w = main_l; inactiv_w = main_r; _res = new List <item>(); rez = new item(); bs_l = new BindingSource(); bs_r = new BindingSource(); bs_l.DataSource = l_sourse; bs_r.DataSource = r_sourse; l_panel.ItemsSource = bs_l; r_panel.ItemsSource = bs_r; l_panel.Focus(); dir.Text = activ_w.current_dir.FullName; prog_bar1.Visibility = Visibility.Hidden; prog_bar2.Visibility = Visibility.Hidden; }
internal param1(string s, List <DirectoryInfo> r, list_sours1 ress) { this.sr = s; root = r; res = ress; }