CSDN论坛 > .NET技术 > C#

异常:“在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级。” [问题点数:0分]

Bbs1
本版专家分:16
结帖率 100%
CSDN今日推荐
Bbs2
本版专家分:127
Bbs13
本版专家分:526163
Blank
名人 年度总版至少三次排名前十即授予名人勋章
Blank
状元 2002年 总版技术专家分年内排行榜第一
Blank
榜眼 2003年 总版技术专家分年内排行榜第二
Blank
探花 2004年 总版技术专家分年内排行榜第三
Bbs4
本版专家分:1839
匿名用户不能发表回复!登录|注册
其他相关推荐
C#线程之间操作无效|不允许访问控件(c# 线程间操作无效: 从不是创建控件“”的线程访问它)
解决方法 1.创建事件委托 c#不允许对跨线程的控件的访问,如需操作跨线程的操作需要通过委托(delegate),即是函数指针来操作跨线程。说明dgList控件不是该线程的控件,需要使用委托操作。比如: delegate void SetListBoxCallback(string str); //定义委托(SetListBoxCallback名称可以变化,自己定义) public voi
解决 Control.Invoke 必须用于与在独立线程上创建的控件交互。在智能设备上的(c# / PDA)
using System; using System.Linq; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Op
C# .NET 在一个线程中访问另一个线程的控件
.NET 不允许在一个线程中直接访问另一个线程创建的控件,会引发异常:线程间操作无效,从不是创建控件XXX的线程访问它。Windows 窗体中的控件被绑定到特定的线程,不具备线程安全性。如果从另一个线程调用控件的方法,那么必须使用控件的一个 Invoke 方法来将调用封送到适当的线程。本文以一个线程去改变另一个线程的 Label(lb_Name) 的 Text 属性为例,实
C#c# 从不是创建控件 的线程访问它。
有两种方式解决  1.在窗体构造函数中写Control.CheckForIllegalCrossThreadCalls =false; 2.使用Invoke等委托函数。 问题原因是。net2.0以后拒绝多线程访问空间,避免空间造成死锁。以前Control.CheckForIllegalCrossThreadCalls =false;默认就是这样,现在默认为true。 如果不会好几个
在该控件上执行的操作正从错误的线程调用。
这是跨线程调用控件所致,以往treeView中动态添加节点为例。 可把 this.treeView.Nodes.Add(subNode); 改为: this.treeView.Invoke(new Action(() => { parentNode.Nodes.Add(subNode); }));
WinForm中线程问题:线程间操作无效: 从不是创建控件“...”的线程访问它
在利用Visual Studio2005编写窗体控件的应用程序时,往往会遇到这样的问题:有两个控件,分别为A和B,我们要通过控件A做一个复杂操作,在这个操作过程要设置B的相关属性。如果我们把该操作放在线程中,就可能出现线程安全问题。下面根据一个例子来说明一下。我们假设一个情景,窗体中有一个TabControl控件tc_thread,控件里边共有两个tab页分别为tab1和tab2,控件的下边有
线程间操作无效: 从不是创建控件“label1”的线程访问它。C#定时器
线程间操作无效: 从不是创建控件“label1”的线程访问它。 我在使用线程操作winfrom控件对象的时候报错,后来才发现问题所在:多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界面显示 使用委托的时候是使用 Invoke 方法访问主线程程序,实现修改赋值给控件。   //解决无法访问已释
C#子线程创建新窗体心得(对Windows窗体控件进行线程安全调用)
自己在写socket通讯碰到这样的问题: 除主UI线程外,有一个后台socket监听线程一直在监听新消息,新消息到来后,右下角弹出一个新窗口提醒用户。 如果用监听线程创建并弹出窗体的话,由于监听线程一直处于阻塞监听状态,没功夫处理UI方面的东西,所以新弹出的窗口会卡死在那里。 解决方法: 应该在主UI线程上创建窗体,通过主线程里面的一个窗体或控件调用Invoke()方法,让创建和显
mfc 创建线程函数AfxBeginThread,线程中访问mfc控件
转字http://blog.csdn.net/guomsh/article/details/10377993 1. C++ 中如何定义线程函数      有两种方法:a. 定义线程函数为全局函数    b. 定义线程函数为类的静态成员函数 2. C++中的线程函数如何访问类中的成员变量     针对线程函数为类的静态成员进行说明。如果是静态数据成员,当然可以直接访问,但是如果要
在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke 解决
在Window窗体程序开发的时候,如果使用多线程编程,在子线程中访问主线程窗体内的控件,就需要使用控件的Control.Invoke方法或者BeginInvoke方法。但是有时候因为Window执行速度太快,尤其是你写代码的时候在InitializeComponent();完成之前起了一个线程去执行某些操作,涉及到窗体控件的,当你在调用Control.Invoke的时候,就可能出现 “在创建窗口句
关闭