在Main Thread之外的线程中更新Control的属性
来源:互联网 发布:阳江网络问政平台投诉 编辑:程序博客网 时间:2024/04/30 13:36
在.net中不能直接在UI Control的创建线程之外修改UI Control的属性和内容。一个基本办法是通过调用UIControl 的Invoke方法。考虑一个简单的例子:我们希望在一个通过btnStart启动的线程A中,每隔10秒把txtTime的Text属性更新为:线程A的线程名+线程A传入的“当前时间”。
下面是主要代码
private void btnStart_Click(object sender, System.EventArgs e)
{
Thread th = new Thread(new ThreadStart(WorkThreadMethod));
th.Name = "TH" + i;
th.Start();
}
public delegate void UpdateTextCallback(string threadName, DateTime time);
private void WorkThreadMethod()
{
Thread.Sleep(10000);
txtTime.Invoke(new UpdateTextCallback(this.UpdateText), new object[]{Thread.CurrentThread.Name, DateTime.Now});
}
private void UpdateText(string threadName, DateTime)
{
txtTime.Text = threadName + time.ToString();
}
- 在Main Thread之外的线程中更新Control的属性
- 在Main Thread之外的线程中更新Control的属性
- Thread线程的属性
- WinForm 之Control.Invoke 和Control.BeginInvoke 方法的使用 Control 不能在创建它的 Thread 之外被调用。但可以通过 invoke 来保证 C
- 在main函数之外执行函数的情
- 在main函数之外执行函数的情况
- main函数和thread线程类的初步理解
- 在dos中运行java程序,出现Exception in thread "main" java.lang.NoClassDefFoundError的原因
- service是否在main thread中执行, service里面是否能执行耗时的操作?
- android 在其他线程中更新UI线程的解决方法
- Android 在其他线程中更新UI线程的解决方法
- Android 在其他线程中更新UI线程的解决方法
- Android 在其他线程中更新UI线程的解决方法
- 线程的属性和 线程特定数据 Thread-specific Data
- Control的Invoke和BeginInvoke 是相对于支线线程(因为一般在支线线程中调用,用来更新主线程ui)Invoke立即插入主线程中执行,而BeginInvoke 要等主线程结束才执行
- Control的Invoke和BeginInvoke 是相对于支线线程(因为一般在支线线程中调用,用来更新主线程ui)Invoke立即插入主线程中执行,而BeginInvoke 要等主线程结束才执行
- Control的Invoke和BeginInvoke 是相对于支线线程(因为一般在支线线程中调用,用来更新主线程ui)Invoke立即插入主线程中执行,而BeginInvoke 要等主线程结束才执行
- Control的Invoke和BeginInvoke 是相对于支线线程(因为一般在支线线程中调用,用来更新主线程ui)Invoke立即插入主线程中执行,而BeginInvoke 要等主线程结束才执行
- DOS文件格式转换成unix文件格式
- prototype.js开发笔记
- 唉,又捡回来了,
- Microsoft 公司 interview 時的問題!!!----三个灯泡
- 武林外传经典对话
- 在Main Thread之外的线程中更新Control的属性
- 脑筋急转弯
- Ant 和 Junit 的复用
- asp.net 防注入
- 接口和抽象类的区别
- 100句最经典台词
- EDA工具使用教程链接
- BMP文件格式分析
- 今天遇到网络骗局了,把丫丫的客服MM 好好耍了耍。。。。。。。。。。