C# 委托 从不是创建控件“richTextBox1”的线程访问它。解决方案,利用委托
2016-12-23 14:07
645 查看
delegate void SetTextCallBack(string text);
private void SetText(string text)
{
if (this.richTextBox1.InvokeRequired)
{
SetTextCallBack stcb = new SetTextCallBack(SetText);
this.Invoke(stcb, new object[] { text });
}
else
{
this.richTextBox1.Text = text;
}
}
private void LoadData()
{
SetText("测试");
}
//窗体加载时,用线程加载数据
private void MainForm_Load(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(LoadData));
thread.Start();
}
private void SetText(string text)
{
if (this.richTextBox1.InvokeRequired)
{
SetTextCallBack stcb = new SetTextCallBack(SetText);
this.Invoke(stcb, new object[] { text });
}
else
{
this.richTextBox1.Text = text;
}
}
private void LoadData()
{
SetText("测试");
}
//窗体加载时,用线程加载数据
private void MainForm_Load(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(LoadData));
thread.Start();
}
相关文章推荐
- c#开启新线程,如果访问主线程的控件,利用委托
- 关于VS编译出现“从不是创建控件 control name 的线程访问它”问题的解决方案
- 线程间操作无效: 从不是创建控件“**”的线程访问它 利用委托处理
- 从不是创建控件的线程访问(C# winFrom)
- 黄聪:C#“多线程线程间操作无效: 从不是创建控件的线程访问它。”,跨线程修改控件属性解决方案
- C# 委托 / 跨线程访问UI / 线程间操作无效: 从不是创建控件“Form1”的线程访问它
- C# 线程操作 出现“从不是创建控件lstUser的线程访问它”错误的解决方法
- 线程间操作无效: 从不是创建控件的线程访问它 解决方案
- 从不是创建控件 的线程访问它
- 利用线程和委托访问窗体控件
- “从不是创建控件的线程访问它”
- 关于"从不是创建控件的线程访问它"
- VS2005的“从不是创建控件的线程访问它”
- “从不是创建XX控件的线程访问它”错误的解决方法!
- 线程间操作无效: 从不是创建控件“Control Name'”的线程访问它问题的解决方案及原理分析
- C#程序利用线程访问控件
- 利用委托解决多线程中“不是此控件创建的线程”的问题
- 线程间操作无效: 从不是创建控件的线程访问它 解决方案
- c# 线程间操作无效: 从不是创建控件“FormMain”的线程访问它
- 线程间操作无效: 从不是创建控件“Control Name'”的线程访问它问题的解决方案及原理分析