首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WinForm多线程修改控件时,提示在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke

action(); } } 使用 SetControlSafe(this.lbName, () => { this.lbName.Text = name; }); 方法二: 一般在多线程调用...btnRefresh.Enabled = true; }); 但是假如在多线程操作还没完成的时候,我就提前关闭窗体,则会引发InvalidOperationException...,提示 “在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke” ,并且如果没有捕获到,则可能导致程序崩溃,直接关闭。...百度之后,发现需要判断控件的IsHandleCreated和IsDisposed等属性,并且如果还有错误,可以再捕获InvalidOperationException异常,避免程序崩溃 但是在项目中有太多需要修改...此时,最好是自己写一个类,专门负责处理多线程UI调用,代码如下 public static class ControlInvoker { public static void

2.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    温故而知新:WinFormSilverlight多线程编程中如何更新UI控件的值

    单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!"...SetTextBoxValue(object obj)  { this.textBox1.Text = obj.ToString(); }  运行时,会报出一个无情的错误: 线程间操作无效: 从不是创建控件...究其原因,winform中的UI控件不是线程安全的,如果可以随意在任何线程中改变其值,你创建一个线程,我创建一个线程,大家都来抢着更改"TextBox1"的值,没有任何秩序的话,天下大乱......bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)         { //这时后台线程已经完成,并返回了主线程,所以可以直接使用UI控件

    1.8K50

    Vcl控件详解_c++控件

    ,分为左和右 ArrowKeys:是否允许用键盘上的上或下来控制该控件 Associate:选择该控件所控制的控件 Increment:设置每用该控件递增或递减时数据改变的跨度 Max:...:该控件中的内容由指定流指定 SaveToFile:将该控件中的内容保存到文件中 SaveToStream:将该控件中的内容保存到流中 Select:选择指定的节点 Subselect...返回该控件内的行数 ShowCaptions:在按钮上是否显示Caption的文本 Transparent:是否透明 Wrapable:当该控件内的所有控件的总宽度大于该控件的宽度时,是否自动换行...:当用户尝试向该控件上添加一个按钮时触发 OnCustomized:当用户完成对该控件的修改时触发 OnCustomizeDelete:当用户从该控件上删除一个按钮时触发 OnCustomizeNewButton...DragScroll:为真时,当拖动页滚动组件上的箭头时,页滚动组件滚动 Margin:被控控件与该控件的距离 Orientation:设置该控件的方向 Position:确定页流离颠沛滚动组件的滚动位置

    4.9K10

    MFC应用程序——标签控件_IP控件_时间控件_List Control控件_Tree Control控件_命令按钮_列表框_组合框_图片_滚动控件「建议收藏」

    标签控件应用 【Tab Control 标签控件】 标签控件也比较常见。它可以把多个页面集成到一个窗口中, 每个页面对应一个标签,用户点击某个标签时,它对应的页 面就会显示。...标签控件相当于是一个页面的容器,可以容纳多个对话 框,而且一般也只容纳对话框,所以我们不能直接在标签控 件上添加其他控件,必须先将其他控件放到对话框中,再将 对话框添加到标签控件中。...列表视图控件是对前面讲到的列表框控件List Box 的改进和延伸。列表视图控件的列表项一般有图标 (Icon)和标签(Label)两部分。图标是对列表项的 图形描述,标签是文字描述。...另外,树形控件与列表视图控件一样,可以 在每一个节点的左边加入图标。这些都使得树形控件给 人一种复杂的感觉,但我们在使用它一两次后会发现其 实树形控件用起来还是很方便的。...【图片控件控件简介】 图片控件和前面讲到的静态文本框都是静态文本控件, 两者的使用方法有很多相同之处,所属类都是CStatic类。

    2.6K10

    Iocomp控件教程之Analog Display—模拟显示控件(优于EDIT控件

    Analog Display是简洁的显示控件,用于显示指定精确度和单位的模拟值(实数),可以将精确度设置为0,使显示结果为整数。...第一步:建立MFC对话框 第二步:插入AnalogDisplay控件 第三步:单击控件-鼠标右键-添加成员变量 完成添加变量的同时,控件的.h、.c文件也会被添加到程序中 主要成员函数介绍: /...I_analogdisplay.put_UnitsText(_T(“mg”));//单位 //文字位置 I_analogdisplay.put_Alignment(0);//0居中1左对齐2右对齐 //控件大小...I_analogdisplay.put_Height(100);//高度 I_analogdisplay.put_Width(100);//宽度 另外还可以通过控件属性直接设置字体种类...、大小、颜色等 与MFC自带EDIT控件相比具有以下优点: 1、可显示正负 2、可附带单位 3、字体易调 4、几乎不会出现闪烁情况 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

    90530

    Android控件与布局——基础控件RadioButton

    今天,我们的主题是基础控件RadioButton。...在开始之前,我们还是以官方文档为开端来开始我们的讲解,下面是Android文档中对RadioButton的简介: 看过上一篇文章的应该可以了解到,这个和我们的CheckBox是十分类似的,不同的点在于,这个控件可以由非选中状态通过点击事件转为选中状态...,但是不能通过点击实现逆向的状态转换,一个默认样式RadioButton控件的非选中和选中状态如下: ?...在上面我们在简介中得知,这个控件能通过点击事件实现的效果如下(不能逆向改变状态): ? 接下来,我们对其基本属性进行设置,改变一下它的样式: ?...item android:state_checked="false" android:drawable="@drawable/non_chosen_big"> 该控件的开源项目在网上找了一下

    2.3K10

    自写JQ控件-树状菜单控件

    一个多月没有写博客了,最近也弄一个基于JQ的树状菜单控件,在此分享给大家。另外呢,通过这个例子分享一下怎么写JQ控件的。...这种情况自己写控件会好一些。 【小宝鸽也是前端菜鸟,毕竟咱们算是专攻后台的,不规范的地方还望猿友指正】 费话不多说,直接看看效果吧 ? 这效果图吧,说不上好看,但是呢,我们主要了解怎么写JQ控件的。...DOCTYPE html> 小宝鸽菜单树控件 <link rel="stylesheet" type="text/css" href="....} return html; }; } }); }); 从css文件里面的样式可以看出,目前这个菜单<em>控件</em>支持三层...但是,想要写出一个比较不错的<em>控件</em>,还要不断积累。不但是js知识,还有css知识。

    1.9K30
    领券