线程间操作无效: 从不是创建控件“...”的线程访问它(解决方法)
来源:互联网 发布:摄像头小软件 编辑:程序博客网 时间:2024/06/08 07:00
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
是最简单的方式!
2、创建代理
delegate void SetTextCallback(string text);
创建和启动线程
this.demoThread =
new Thread(new ThreadStart(this.ThreadProcUnsafe));
this.demoThread.Start();
线程中要求改主窗体UI中的text属性
privatevoid ThreadProcSafe()
{
this.SetText("This text was set safely.");
}
调用窗体中的函数用invoke传递参数
privatevoid SetText(string text)
{
if (this.textBox1.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
this.Invoke(d, new object[] { text });
}
else
{
this.textBox1.Text = text;
}
}
3、
{
1.定义 委托
delegate void myDelegate(int i);
myDelegate mydelegate = null;
2.定义方法,显示消息
public void ShowMessage(int i)
{
this.textBox1.Text = i.ToString();
this.progressBar1.Value = i;
}
3.定义方法,驱动消息
public void MyEvent()
{
for (int i = 0; i < 100; i++)
{
Thread.Sleep(100);
this.BeginInvoke(mydelegate, new object[] {i});
}
}
4: 运行
private void button1_Click(object sender, EventArgs e)
{
mydelegate = new myDelegate(ShowMessage);
Thread myThread = new Thread(MyEvent);
//IsBackground 是否后台
//这个属性很重要 .如果 Thread IsBackground 等于false
// 当线程还没有结束时,你点了关闭按钮
// 将抛出An unhandled exception
//of type 'System.InvalidOperationException'
//occurred in System.Windows.Forms.dll 异常
myThread.IsBackground = true;
myThread.Start();
}
- “线程间操作无效:从不是创建控件“XX”的线程访问它”的解决方法
- 线程间操作无效: 从不是创建控件“”的线程访问它的解决方法
- 小结“线程间操作无效: 从不是创建控件的线程访问它” 错误的解决方法
- 小结“线程间操作无效: 从不是创建控件的线程访问它” 错误的解决方法
- 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法!
- 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法~
- 小结“线程间操作无效: 从不是创建控件的线程访问它” 错误的解决方法
- 小结“线程间操作无效: 从不是创建控件的线程访问它” 错误的解决方法
- 线程间操作无效 从不是创建控件“___”的线程访问它”解决方法的疑惑
- 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法
- C# 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法~
- 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法~
- 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法
- 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法~
- 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法~
- 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法~
- 线程间操作无效: 从不是创建控件“”的线程访问它的解决方法~
- 线程间操作无效: 从不是创建控件的线程访问它的三种解决方法
- android 颜色选择的实现
- 添加几个常用音频格式的GUID
- 解决ORA-01536: 超出表空间'表空间名'的空间限量
- Objective-C 2.0 with Cocoa Foundation --- 2,从Hello,World!开始
- 程序员写的叫struts
- 线程间操作无效: 从不是创建控件“...”的线程访问它(解决方法)
- 考虑到可扩展性
- SSH框架整合
- Featured Article: /proc/meminfo Explained
- 【原】Java推荐网站
- @page页面指示符
- ASP.NET学习全过程【转载】
- 表插入排序
- 非常好的讲平摊分析的网站