c# 跨线程访问窗体UI
2024-09-18 03:28:13
定义个结构体用于存储线程中传递的参数信息
struct ImgInfo
{
public string url;
public string path;
};
参数传递到线程中
ImgInfo img1; //定义一个结构体,用于向线程中传递下载的参数
img1.url = s1;
img1.path = path; Thread thread1 = new Thread(new ParameterizedThreadStart(DownImg));
thread1.Start(img1);
访问窗体中的UI控件,改成自己需要修改的窗体控件。
private void DownImg(object img)
{
ImgInfo img1 = (ImgInfo)img;
WebClient wc1 = new WebClient();
if (L1.InvokeRequired)
{
this.BeginInvoke(new Action<string>((x) => { L1.Items.Add(x.ToString()); }), "正在下载--> "+img1.url);
}
wc1.DownloadFileAsync(new Uri(img1.url), img1.path);
}
最新文章
- 新手学习web遇到的一些乱码问题
- 灰度图像 Grayscale Binary_image
- OpenJudge计算概论-求平均年龄
- Python 处理多层嵌套列表
- [ActionScript 3] 本地安全沙箱问题最快解决方法
- JAVA高级特性 - 注解
- Apache Commons 工具类介绍及简单使用
- 【python之旅】python的面向对象
- MySQL数据库服务器 主从配置
- PS2鼠标+LCD12864实验(调试未成功)
- iOS学习——tableview中带编辑功能的cell键盘弹出遮挡和收起问题解决
- Python反序列化 pickle
- 数据合并处理concat
- 洗礼灵魂,修炼python(33)--面向对象编程(3)—特殊类方法__init__,公有属性,私有属性
- 关于在VB.NET中调用使用VC++编写的类库dll的一点笔记
- SQL 语言类型
- 五、CLR加载程序集代码时,JIT编译器对性能的产生的影响
- SQLServer&#160;远程链接MySql数据库详解
- 关于解决多台linux服务器间的文件实时同步问题
- 理解Storm Metrics