博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#基础1、非主线程修改控件文本
阅读量:6688 次
发布时间:2019-06-25

本文共 1905 字,大约阅读时间需要 6 分钟。

hot3.png

假设 点击按钮启动一个线程

Thread t1 = new Thread(() => RunAddFile(tb_file.Text.Trim()));                //创建一个线程

t1.Start(); 

现在在线程中修改主线程创建的控件tb_log的文本

#region 自定义方法RunAddFile主要是通过线程序来实现对文件夹下所有子文件夹和文件的遍历                ///         /// path 是路径        ///         ///         public void RunAddFile(string path)        {                        DirectoryInfo dir = new DirectoryInfo(path);                    DirectoryInfo dirD = dir as DirectoryInfo;                    FileSystemInfo[] files = dirD.GetFileSystemInfos();            foreach (FileSystemInfo i in files)                                    //对单个FileSystemInfo进行判断,如果是文件夹则进行递归操作            {                //如果是文件夹                //System.Windows.Forms.MessageBox.Show(i.Name+" "+i.FullName);                FileInfo file = i as FileInfo;                if (file != null)                {                    AddOkPath(file.DirectoryName + "\\" + file.Name);                }                else                {                    string newpath = "";                    newpath = i.FullName;                    RunAddFile(newpath);                }            }        }                        ///         /// 修改 日志        ///         ///         private void AddOkPath(string path) {            if (this.tb_log.InvokeRequired)            {                                        Action
actionDelegate = delegate(string txt) { StringBuilder sb = new StringBuilder(); sb.Append(tb_log.Text + System.Environment.NewLine); sb.Append("目录:" + txt + System.Environment.NewLine); tb_log.Text = sb.ToString(); //RunAddFile(txt); //这句导致 报 未将引用对象设置到实例 li_img.Add(path); }; this.tb_log.Invoke(actionDelegate, path); } }

 

转载于:https://my.oschina.net/qingqingdego/blog/3021006

你可能感兴趣的文章
云计算新风向:多云战略优化企业云支出
查看>>
gweb总结之router
查看>>
【跃迁之路】【478天】刻意练习系列237(2018.05.29)
查看>>
Windows改Linux(一),新建Ubuntu虚拟机小白向导
查看>>
HTML5调用手机前置摄像头或后置摄像头拍照,canvas显示,经过Android测试
查看>>
如何做好 Android 端音视频测试?
查看>>
element 源码学习(番外篇) —— SASS五分钟快速入门
查看>>
五个非常实用的机器学习资源
查看>>
关于一个插图的翻译
查看>>
Spring Cloud构建微服务架构:分布式服务跟踪(入门)【Dalston版】
查看>>
spring 5 webclient使用指南
查看>>
【355天】跃迁之路——程序员高效学习方法论探索系列(实验阶段113-2018.01.26)...
查看>>
阿里云即将全球首发云骨干网
查看>>
Python数据分析
查看>>
一次Java字节码插桩实战
查看>>
Netflix 混沌工程手册 Part 3:实践方法
查看>>
用PVS在.NET内核中发现的缺陷
查看>>
战胜阿里和腾讯,Ripple已经获得200家跨境支付客户!
查看>>
剖析AWS CodeDeploy
查看>>
首次踏入vue坑——阅读zhihudaily-vue源码
查看>>