当前位置:编程学习 > C#/ASP.NET >>

线程的应用,在后台搜索目录

当应用程序需要在后台运行一个很大的进程,同时保持其用户界面处于激活和可用状态时,就应产生新线程。

下例在后台搜索文件时就用到了一个线程:


 private void cmdMultiSearch_Click(object sender, EventArgs e)
        
{
            
//这里使用线程是为了让Windows在用户界面和进行搜索线程之间来回切换着执行流。
            
//这样处理器有一个时间片来更新用户界面,以反映列表框中的变化。
            Thread t = new Thread(new ThreadStart(Search));
            t.Start(); 

        }

 
public void Search()
        
{
            search 
= textBox1.Text;
            listBox1.Items.Clear();
            fileCount 
= 0;
            SearchDirectory(
@"C:Program Files");//搜索目录
           
        }


 
public void SearchDirectory(string Path)
        
{
              
//Search the directory
            DirectoryInfo di = new DirectoryInfo(Path);
            FileInfo[] f 
= di.GetFiles(search);//获取当前目录的所有文件
            listBox1.BeginUpdate();
            
foreach (FileInfo myFile in f) //遍历目录里的所有文件
                listBox1.Items.Add(myFile.FullName);
            listBox1.EndUpdate();

            
//Search its sub directores
            DirectoryInfo[] d = di.GetDirectories();//获取当前目录的子目录
            foreach (DirectoryInfo myDir in d) //遍历所有子目录
                SearchDirectory(myDir.FullName);

        }


补充:asp.net教程,.Net开发 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,