[C#]极简的多线程操作 & 跨线程调用控件
2018-01-10 15:06
405 查看
极简的多线程操作:
如果在Function()函数中需要跨线程调用控件,一个极简的方式是在初始化窗体时,关闭跨线程调用检查,如下:
如果调用的函数需要传递参数,则使用如下方式开辟多线程:
private void Function(object data)
{
// 解析参数
int parameter_i = (int)data;
.....
}
private void button1_Click(object sender, EventArgs e) { // 运用新线程执行 Function() Thread fThread = new Thread(new ThreadStart(Function)); fThread.Start(); }
如果在Function()函数中需要跨线程调用控件,一个极简的方式是在初始化窗体时,关闭跨线程调用检查,如下:
public Form1() { InitializeComponent(); // 不针对跨线程调用控件进行检查 Control.CheckForIllegalCrossThreadCalls = false; }
如果调用的函数需要传递参数,则使用如下方式开辟多线程:
private void Function(object data)
{
// 解析参数
int parameter_i = (int)data;
.....
}
private void button1_Click(object sender, EventArgs e) { int i; int Num = 6; for (i = 0; i < Num; i++) { Thread Thread_i = new Thread(new ParameterizedThreadStart(Function)); Threadi.Start(i); } }
相关文章推荐
- C#新线程中操作主线程的控件 ,解…
- 黄聪:C#“多线程线程间操作无效: 从不是创建控件的线程访问它。”,跨线程修改控件属性解决方案
- c#中使用多线程访问winform中控件的若干问题 解决线程间操作无效: 从不是创建控件的线程访问它
- UI多线程调用:线程间操作无效: 从不是创建控件"Form1"的线程访问它.
- 【转】C#线程间操作无效: 从不是创建控件" XX" 的线程访问它
- c#中跨线程调用windows窗体控件 .我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。
- (委托事件处理)关于多线程执行显示进度条的实例(转)&&线程间操作无效: 从不是创建控件“rtxtEntryNO”的线程访问它。
- C#中工作线程和多线程跨线程操作控件
- C#跨线程操作控件的线程安全方法
- 解决"线程间操作无效: 从不是创建控件的线程访问它"
- C# 跨线程调用form控件技巧及byte[]与string型相互转换
- 【转载】C# 跨线程调用控件
- C#线程间操作无效: 从不是创建控件“dataGridView1”的线程访问它
- C# 跨线程调用控件
- 线程间操作无效: 从不是创建控件“Control Name'”的线程访问它问题的解决方案及原理分析
- 在该控件上执行的操作正从错误的线程调用。使用 Control.Invoke 或 Control.BeginInvoke 封送到正确的线程才能执行此操作。(以解决)
- c#线程问题:线程间操作无效:从不是创建控件 的线程访问它
- C# 跨线程调用控件
- C# 中在Form控件创建以外的线程操作控件问题
- 2017.10.20 C#跨线程操作控件的线程安全方法