private void updateListBox(object sender) { if (this.InvokeRequired) { refreashListBoxHanlder delegateFunc = new refreashListBoxHanlder(updateListBox); this.Invoke(delegateFunc, sender); } else { confgBox.Items.Clear(); confgBox.Items.AddRange(LastName.ToArray()); fileBox.Items.Clear(); fileBox.Items.AddRange(searchList.ToArray()); } }
public static void SearchFile(object paths) { string path = paths.ToString(); FormWindows thisForm = (FormWindows)paths; path = thisForm.selectBox.Text; if (path != null && path.Length > 0) { if (Directory.Exists(path)) { searchList = new List <string>(); searchList.Clear(); List <string> Filenames = new List <string>(); List <string> txtnames = new List <string>(); Filenames.Add(path); while (Filenames.Count > 0) { try { string cur = Filenames[0]; Filenames.RemoveAt(0); string[] files = Directory.GetFiles(cur); string[] dir = Directory.GetDirectories(cur); foreach (string item in files) { txtnames.Add(item); } foreach (string item in dir) { Filenames.Add(item); } } catch { } } searchList.AddRange(txtnames); for (int i = 0; i < searchList.Count; ++i) { searchnames[i] = searchList[i]; } lastnum = 0; filenum = 0; string oneLastName; LastName = new List <string>(); LastName.Clear(); foreach (string file in searchnames) { if (file != null) { //MessageBox.Show(file.ToString()) ; string filename = file.ToString(); oneLastName = filename.Substring(filename.LastIndexOf(".") + 1, (filename.Length - filename.LastIndexOf(".") - 1)); //扩展名 //MessageBox.Show(aLastName); if (oneLastName != null && !LastName.Contains(oneLastName.ToString())) { LastName.Add(oneLastName); } Filename[filenum] = filename; filenum++; } //bool flag = false; } refreashListBoxHanlder updateDelegate = new refreashListBoxHanlder(thisForm.updateListBox); thisForm.Invoke(updateDelegate, thisForm); // thisForm.searchComplete(thisForm); //MessageBox.Show(searchList.ToString()); } } }