解决 在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级

[vb.net]解决 "在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级" 在一段给DATAGRID控件绑定DATATABLE对象的代码中, 加入线程的操作后提示"在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级"   在优快云的论坛中找到其他人的建议"使用委托的方法,  先获取控件的控制权,在对控件进行操作就可以了"   思路有了,就是实施. 第一步,声明委托和实例话委托  Private Delegate Sub BindDataGridD 阅读详情


   public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Thread t = new Thread(new ThreadStart(CreateUI));
            t.Start();
        }
 
        private void CreateUI()
        {
            AddTextBox();
        }
 
        private void AddTextBox()
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new MethodInvoker(delegate { AddTextBox(); }));
                return;
            }
            TextBox tb = new TextBox();
            tb.Text = "test";
            this.Controls.Add(tb);
        }
 
    }


C#线程委托中对控件的调用 可以在线程中对控件的调用,将控件的相应操作只需要调用委托方法就可以了 立即下载

相关推荐

C# 跨线程访问UI线程控件

C# 跨线程访问UI线程控件 在C#中,由于使用线程和调用UI的线程属于两个不同的线程,如果在线程中直接设置UI元素的属性,此时就会出现跨线程错误。    下面介绍两种解决方案  第一种:使用控件自带的Invoke或者BeginInvoke方法。 Task.Factory.StartNew(() => { this.button1.Invoke(new Action(() => { this.button1.Text = hello world; })

报错:C#在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级。#

toolStripLabel1.Text = "文件路径:";//委托函数的参数不加之前的定义。子线程调用了父线程创建的控件,这个问题的深入就要考虑线程同步的问题。#学习多线程不合格的我遇到的问题,第一时间人麻了#在报错的控件引用使用如下方式即可解决(我是这样的)

m0_52256117的博客 1634

常用的集成TTL门电路

本篇主要分析了常用的逻辑门电路与非门,详细分析了电源原理。值得收藏。

ManagerUser的博客 5086

C#winfrom报错信息--在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级

backgroundworker多线程。报错:在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级。解决方法:使用委托将访问控件的操作。

weiwei_y的博客 965

OBD诊断协议:OBDⅡ (SAE J1979) 和 OBDonUDS (SAE J1979-2) 和ZEV OBD技术架构的详细对比

摘要:文章对比了2025年最新OBD技术标准(SAEJ1979系列)的三大架构:传统OBD-II(已淘汰)、OBDonUDS(燃油/混动车)和ZEVOBD(新能源车)。核心发现:1)OBDonUDS与ZEVOBD共享UDS协议栈和DoIP通信标准,仅应用层数据(DID/DTC)不同;2)物理层统一为CAN+以太网,支持远程诊断和OTA;3)诊断工具需同时兼容J1979-2/3数据库。技术演进呈现"协议统一化、数据专用化"趋势,2027年后所有新车将强制采用新标准。

m0_56482679的博客 2388

STM32H750_QSPI_Flash_Configuration_With_CubeMX

本文详细介绍了如何使用STM32CubeMX配置STM32H750的QSPI Flash接口,包括硬件连接、CubeMX参数设置、代码生成与初始化流程优化。通过实战示例展示了Flash ID读取、页编程与数据读取等常用操作,并提供了调试技巧与性能优化建议,帮助开发者高效实现高速外部存储扩展。

weixin_29176179的博客 274

winform C# 一个线程中创建的控件不能成为另一个线程中创建的控件的父级 错误解决方案

winform C# 一个线程中创建的控件不能成为另一个线程中创建的控件的父级 错误解决方案

我是菜鸟 441

数据可视化—power bi 基础操作汇总

数据来源: https://pan.baidu.com/s/1U_Y7rKfhnSKbLmh4FcUD_Q 提取码: yq5v 目录 基本功能与视图 编辑与查询—修改column案例 建立关联性 新增column与DAX完成总价运算 习题练习1:建立可视化图表 产品销售统计图 column拖曳可视化 1.基本功能与视图 ①基础操作界面 ②获取数据—以打开excel为例 ③数据文件基本视图 可视化形式:柱状图、数据、关联性 2.编辑与查询—修改column ①编辑与查询—数据处理界面 .

weixin_52730784的博客 2682

3.C#利用委托解决报错:在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级

窗体打开时动态绘制控件,后面连接了Socket实时的去刷新panel,重新绘制该区域,发现程序报错,网上查了资料后发现是因为之前创建的控件是由创建UI的线程控制的,后面通信的线程去修改绘制时就会报这个错误。需要委托之前的线程去重新绘制。

qq_27860623的博客 683

【XCharts插件】5-2、从Excel中读取数据并更新图表案例(v3.0)

XCharts插件是一款基于UGUI的功能强大、易用、参数可配置的数据可视化图表插件。【Unity3D插件】XCharts插件完全教程《全网最全》-专栏文章目录【XCharts插件】5-1、从Json中读取数据并更新图表案例(v3.0)介绍了如何从Json文件中读取数据,并更新表格,这篇文章就介绍如何从Excel中读取数据,并更新图表吧。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1274

[QMT和ptrade量化交易小白入门]-122、基于聚类分析的动态股票池构建与ETF轮动策略,回测年化 132.09%

本专栏主要是介绍QMT和ptrade的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写200篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 1026

解决多线程操作控件时可能出现的异常:“在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级”...

“Windows 窗体”使用单线程单元 (STA) 模型,因为“Windows 窗体”基于本机 Win32 窗口,而 Win32 窗口从本质上而言是单元线程。STA 模型意味着可以在任何线程上创建窗口,但窗口一旦创建后就不能切换线程,并且对它的所有函数调用都必须在其创建线程上发生。除了 Windows 窗体之外,.NET Framework 中的类使用自由线程模型。有关 .NET Framewor...

weixin_30599769的博客 240

自动驾驶大模型---小鹏汽车VLA大模型

随着自动驾驶技术的进步,小鹏汽车正通过云端大模型蒸馏技术,将72B参数的VLA大模型轻量化后部署到车端,以提升自动驾驶系统的智能和安全性。这种技术路线不仅解决了“模态不统一”的问题,还通过强化学习增强了模型的表现。

智能汽车人的博客 2235

教你如何解决“线程间操作无效: 从不是创建控件的线程访问它”

在编程中经常会遇到在一个按钮中执行复杂操作,并将复杂操作最后返回的值加入一个ListView或ComboBox中候选。这个时候程序会卡,当程序员将这些卡代码放进线程(Thread)中后发现当对控件操作时出现“线程间操作无效: 从不是创建控件的线程访问它”异常。        为什么.net不让我们跨线程操作控件,这是有好处的。因为如果你的线程多了,那么当两个线程同时尝试将一个控件变为自己需要的

在水一方 2602

170、电机控制中的温升测试

本文以一次IGBT炸管事故为切入点,深入剖析电机控制中温升测试的实质:不仅是温度测量,更是对铜损、铁损、散热效率等热管理问题的系统验证。作者强调测试前热电偶布置、环境记录、预运行的重要性,提出实时监控电流谐波、绕组电阻、散热梯度等关键参数,并通过损耗分离与冷却系统实测,揭示真实热源。结合温升曲线异常分析与经验建议,强调留余量、仿真结合实测、关注瞬态工况等实践要点,警示温升测试是保障可靠性与安全性的核心环节。

2401_88858637的博客 48

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级”

解决多线程操作控件时可能出现的异常:“在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级” Posted on 2005-10-25 14:47 HQT 阅读(340) 评论(2)  编辑 收藏 引用 收藏至365Key 所属分类: .NET <!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns

czsd82的专栏 7629

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【WinForm】在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级。

问题: 报错信息: System.ArgumentException: 在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级。 在 System.Windows.Forms.Control.ControlCollection.Add(Control value) 解决: 原代码 panel.Controls.Add(slides); 修改后的 if (pane...

GreAmbWang的博客 2437

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

VS C# 在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级

原先程序(出错程序): private void F2_ChangeForm1label(string txt, string str2) { TabPage tabpagehaha = new TabPage(); tabpagehaha.Text = txt; //tabpagehaha.TabIndex = counter; ...

weixin_44511813的博客 934

在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级

在winform 中用事件驱动创建控件,发现控件并不能显示出来,多方调试之后发现一个异常问题 :在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级,遂做一记录随后百度 解决问题,参考文章 https://blog.youkuaiyun.com/cleopard/article/details/20047195只需在创建控件的方法中添加一下 代码 if (this.InvokeRequired) ...

东明之羞的博客 2797

C# 在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级

首先在form1的窗体载入中新建了一个Class1对象并将本身的引用传递进入其构造函数,然后在Class1的构造函数中创建一个线程。该线程所代理的方法事件是本类中的一个add方法。而add方法的内容则是在form1上放一个textbox. 然而这个流程你需要注意的有几个问题: 1.哪个是主线程?所谓主线程是第一个启动的线程,是从main开始的。form1的这个窗体是由主线程创建的。 2.Thre...

qq_37508511的博客 5065

某个线程上创建的控件不能成为在另一个线程上创建的控件的父级(转)

解决多线程操作控件时可能出现的异常:“在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级” Posted on 2005-10-25 14:47 HQT 阅读(218) 评论(0)  编辑 收藏 收藏至365Key 所属分类: .NET <!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"x

deadshot123的专栏 2420

C#在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级

首先在form1的窗体载入中新建了一个Class1对象并将本身的引用传递进入其构造函数,然后在Class1的构造函数中创建一个线程。该线程所代理的方法事件是本类中的一个add方法。而add方法的内容则是在form1上放一个textbox.然而这个流程你需要注意的有几个问题:1.哪个是主线程?所谓主线程是第一个启动的线程,是从main开始的。form1的这个窗体是由主线程创建的。2.Thread t...

weixin_33796205的博客 655

报错:winform- 在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级的处理办法

看了很多文章,都没有找到合适的解决办法,其实,在其他线程操作空间无效的话,我们只要切换回主线程操作就好了。

gengengs的博客 661

WPF中调用线程无法访问此对象,因为另一个线程拥有该对象 的解决方法

在调试中,出现这个错误的原因,我在网上查了很多。大体上总结一下是:   两个或多个线程操作一个控件所引起的问题。          在WPF中,UI分创建线程和访问线程。所以需要用委托机制来解决。 如果要在另一个线程中修改控件的Text属性(例如:ListBox控件类型的 lbConnected),如果直接写:lbStatus.Items.Add(str);    的话就会出现上述错误

huguoqun的专栏 8494
上一篇: 计算文件的MD5校验
下一篇: 鼠标滚轮控制panel滚动条
CLeopard
博客等级 码龄15年 180粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值