大神你们好,请帮我看一下这段vb.net的 Invoke代码是什么意思...
发布网友
发布时间:2022-04-25 20:01
我来回答
共2个回答
热心网友
时间:2023-10-14 19:19
其实这行代码和C_RunCompleted(image, Nothing)的效果类似,但在BackgroundWorker中解决了“线程安全”的问题。
你可以把多线程看成几个工人同时干活。如果大家都共用一份材料,然后我给它补一块,你给它割一块,他再把其它材料焊上去,岂不是乱套了?Invoke的作用就是用一个线程模型调用方法,让主线程先放一边,这样就不会乱套了,也就是“线程安全”。你试试直接改成上面的代码,运行时会引发跨线程异常
热心网友
时间:2023-10-14 19:19
Invoke的意思:在拥有控件的基础窗口句柄的线程上,用指定的参数列表执行指定的线程。
你这代码好像是在线程中利用委托,调用C_RunCompleted方法,C_RunCompleted方法带有两个参数,分别是image,Nothing,什么类型你自己代码里面有吧。
大神你们好,请帮我看一下这段vb.net的 Invoke代码是什么意思...
其实这行代码和C_RunCompleted(image, Nothing)的效果类似,但在BackgroundWorker中解决了“线程安全”的问题。你可以把多线程看成几个工人同时干活。如果大家都共用一份材料,然后我给它补一块,你给它割一块,他再把其它材料焊上去,岂不是乱套了?Invoke的作用就是用一个线程模型调用方法,让主线程...
aippt自动生成工具
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图、条形...
帮我看看这个VB.net,Invoke老是报错,怎么修改?
Private Sub myJobManager_Stopped(ByVal sender As Object, ByVal e As CogJobManagerActionEventArgs)If InvokeRequired Then Dim myDel As New myJobManagerDelegate(AddressOf myJobManager_Stopped)Dim eventArgs() As Object = {sender, e} Invoke(myDel, eventArgs) '程序在这里报错 Return E...
vb.net 线程托管 窗口假死
Me.Invoke(d, i)问题出在这里!直接用Me.Invoke把实际的执行任务提交给主线程运行 所以你的处理函数实际上是在主线程中运行的,新线程等于没用 正确的作法是,定义一个函数为入口的线程,并启动它 在需要调用的时候再使用Invoke来调用委托来进行更改。--- 方法已经给你说明白了,新建1个线程和2个线...
请C#大侠帮忙翻译这段代码为VB.Net的,谢谢了!
Private Sub gridLookUpEdit1_Popup(ByVal sender As Object, ByVal e As EventArgs)FilterLookup(sender)End Sub Private Sub FilterLookup(ByVal sender As Object)Text += " ! "Dim edit As GridLookUpEdit = TryCast(sender, GridLookUpEdit)Dim gridView As GridView = TryCast(edit.Properties....
vb.net中开一个线程,直到新窗体启动完成
Me.Invoke(dh)这里,若是ChkLogin里面仍然是大规模的操作呢 你的代码就又变成将很复杂的操作扔给了UI, 当然会出现窗体无法拖动的情况了.解决办法很简单, 很多种. 将ChkLogin()里的操作直接放在DelegateLogin()里面吧 me.invoke仅仅只是做简单的轻量的刷新之类的操作就好了.希望能帮上你的忙....
vb.net程序如何实现向电脑的Com口发送一段字符串信息,之后再接收显示发 ...
'vb.net的串口接收数据要用到委托 Delegate Sub SetTextCallback(ByVal InputString As String) '声明一个委派类,并声明符合函数参数有一个,而其型态是字符串 Private Sub ShowString(ByVal comData As String)txt_Re.Text &= comData '将收到的数据入接收文字框中--- txt_Re.Text 是接收用...
想将C#代码转换成VB.NET代码,具体代码如下:
你这是声明一个委托吧? 这是我写的一个委托,你参考下,你的代码也不全!有全的,我可以试着帮你看看!Public Delegate Sub setlist(ByVal ListUsers() As String)Private Sub ListUsers(ByVal users() As String)Try Dim lusers() As String lusers = users If lstUsers.InvokeRequired Then...
vb.net 怎么用事件触发的方式读取串口数据
首先:textbox里没有显示,是因为SerialPort1和TextBox2不是同一线程创建的,需要跨线程操作。需要用到委托,这样才能显示出来。其次:我觉得用串口的接收数据事件更好一些。下面代码供参考:'--- '串口接收数据事件,其实比用定时器更好,'触发事件的条件可以自己在form_load中设置ReceivedBytesThreshold...
关于VB.NET 的AddressOf 问题
复制代码 Function SubtractNumbers( _ByVal x As Double, _ByVal y As Double _) As Double Return x - y End Function 创建一个名为 DelegateTest 的过程,它接受一个委托作为参数。此过程可接受对 AddNumbers 或 SubtactNumbers 的引用,这是因为它们的签名与 MathOperator 签名匹配。Visual ...
vb.net 多线程 访问界面控件
建议你使用BackGroundWorker控件。将代码写入控件的事件中,使用它的Start方法就可以开始工作了。是与主程序同时进行的。