Exemple #1
0
 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());
     }
 }
Exemple #2
0
        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());
                }
            }
        }