C# 委托在线程与UI界面之间的应用
来源:互联网 发布:mac 文件夹打不开 编辑:程序博客网 时间:2024/06/16 00:40
前景:我们在使用线程的时候,经常会想要访问到Form窗体的控件,也就是线程与UI界面交互,但是他们隶属于连个不同的线程,所以是不能直接访问的,这个时候我们就可以通过委托来实现。打个比方,你想要给远方的朋友邮一封信,你肯定不会直接跑过去给他,这个时候你就会委托邮递员送过去,就类似我们程序中的委托。
先看一个例子:
//我在线程中定时把label1的值赋值为“ABC”
private void button1_Click(object sender, EventArgs e)
{
ThreadPool.QueueUserWorkItem(o => dosomething()); //此处使用线程池,当然也可以使用线程
}
private delegate void MyDelegate();
private void dosomething()
{
A a = new A(label1,"ABC"); //label1为从工具箱拖动出来的Label控件
this.BeginInvoke(new MyDelegate(a.B));
}
public class A //委托传递参数,通过类来实现
{
private string str_text;
private Label lbl;
public A(Label _lbl, string _text)
{
str_text = _text;
lbl= _lbl;
}
public void B()
{
lbl.Text=str_text;
}
}
- C# 委托在线程与UI界面之间的应用
- C#委托解决界面与线程通信
- C# 子线程与前台UI界面的交互
- c#非委托方式在子线程里操作UI控件(实际上运算逻辑在子线程,更新还是在主线程,解决了UI界面无响应的问题)
- C# Winform使用线程,委托定时更新界面UI控件,解决界面卡顿问题
- [VB.NET]在线程里频繁的进行委托操作主界面的ui是不是效果不好?
- C# winform界面在线程中使用委托不断刷新界面 异常 使用委托{"未将对象引用设置到对象的实例。"}
- 最简单解决c#在UI线程中执行耗时方法导致界面假死的方法
- 最简单解决c#在UI线程中执行耗时方法导致界面假死的方法
- C#在非UI线程调用UI线程的控件
- 线程更新UI (线程与委托)
- c#委托与事件的应用
- C# 线程向UI通信 委托(delegate)
- C# winform 防止界面卡住 线程 委托
- C#委托与跨线程
- c# 委托的应用
- c# 委托的应用
- C#委托的应用
- Slony-I 2.1.0 同步postgreSQL
- 用shell命令操作oracle数据库
- N个数顺序进栈,出栈的情况
- linux操作命令日志 记录的方法
- 实例方法和类方法区别
- C# 委托在线程与UI界面之间的应用
- .Net Remoting测试小技巧
- 记第一次三维GIS应用体验
- 数据库字段类型
- oracle下面安装jdk
- poj 1565 Skew Binary
- IOS单例模式(Singleton)
- 编码过程中应该注意的问题汇总
- Java设计模式笔记之观察者模式