用CheckForIllegalCrossThreadCalls 属性解决C#线程间操作无效
2012-10-11 11:18
555 查看
问题描述:在主线程里开个子线程,用子线程去New一个窗体FrmInitialize,并Show出来,在主线程中访问子线程中Show的窗体的控件,需传值给控件
Main.cs
static class Main
{
static FrmInitialize frmInit = null;
public static bool Login()
{
Thread thread = new Thread(frmInit);
thread.Start();
............
frmInit.Label2.Text = "正在初始化。。。。。"; //每次执行都这句话时 都会报“线程间操作无效,从不是创建控件的线程访问控件“的错误。
....................
frmInit.Close();
}
public static void frmshow()
{//线程
frmInit = new FrmInitialize();
frmInit.showDialog();
}
}
FrmInitialize.cs
public FrmInitialize()
{
InitializeComponent();
FrmInitialize.CheckForIllegalCrossThreadCalls = false; //加了这句话就可以解决线程间操作无效的问题
}
Main.cs
static class Main
{
static FrmInitialize frmInit = null;
public static bool Login()
{
Thread thread = new Thread(frmInit);
thread.Start();
............
frmInit.Label2.Text = "正在初始化。。。。。"; //每次执行都这句话时 都会报“线程间操作无效,从不是创建控件的线程访问控件“的错误。
....................
frmInit.Close();
}
public static void frmshow()
{//线程
frmInit = new FrmInitialize();
frmInit.showDialog();
}
}
FrmInitialize.cs
public FrmInitialize()
{
InitializeComponent();
FrmInitialize.CheckForIllegalCrossThreadCalls = false; //加了这句话就可以解决线程间操作无效的问题
}
相关文章推荐
- 用CheckForIllegalCrossThreadCalls 属性解决C#线程间操作无效
- CheckForIllegalCrossThreadCalls 多个线程操作某一控件
- CheckForIllegalCrossThreadCalls 多个线程操作某一控件
- 线程访问UI控件和Control.CheckForIllegalCrossThreadCalls属性
- CheckForIllegalCrossThreadCalls 多个线程操作某一控件
- c#学习之路: CheckForIllegalCrossThreadCalls = false 是干嘛的?
- [C#.NET(WinForm)] - Control.CheckForIllegalCrossThreadCalls=false不可在多线中随便使用
- C# 控制台的载入和关闭,CheckForIllegalCrossThreadCalls、GetMessage()
- 利用CheckForIllegalCrossThreadCalls=false设置跨线程访问
- 多线程之TextBox.CheckForIllegalCrossThreadCalls = false;//消除对textbox控件的线程检测
- 多线程中使用CheckForIllegalCrossThreadCalls = false访问窗口
- Control.CheckForIllegalCrossThreadCalls = false不可在多线程中使用
- Control.CheckForIllegalCrossThreadCalls
- Control.CheckForIllegalCrossThreadCalls
- 多线程中使用CheckForIllegalCrossThreadCalls = false访问窗口
- Control.CheckForIllegalCrossThreadCalls=false不可在多线中随便使用
- 【工作笔记0007】Control.CheckForIllegalCrossThreadCalls = false 多线程访问UI
- CheckForIllegalCrossThreadCalls和control.Invoke
- 多线程中使用CheckForIllegalCrossThreadCalls = false访问窗口
- CheckForIllegalCrossThreadCalls = false