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

本文介绍了一种在后台执行文件搜索的同时保持用户界面响应性的方法。通过创建新线程进行搜索工作,确保了主界面线程可以及时刷新显示结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

下例在后台搜索文件时就用到了一个线程:
 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);

        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值