Vb.net 无法在线程中设置错误提供程序
我一直在VB.NETWindows窗体中使用errorprovider,效果很好。我注意到,如果我试图在通过线程调用的过程中设置errorprovider seterror方法,则错误提供程序无法工作 启动线程时是否有遗漏的内容 我的代码:Vb.net 无法在线程中设置错误提供程序,vb.net,multithreading,errorprovider,Vb.net,Multithreading,Errorprovider,我一直在VB.NETWindows窗体中使用errorprovider,效果很好。我注意到,如果我试图在通过线程调用的过程中设置errorprovider seterror方法,则错误提供程序无法工作 启动线程时是否有遗漏的内容 我的代码: Dim thrdd1 As New Thread(AddressOf random_procedure) thrdd1.IsBackground = True thrdd1.Start() Privavte Sub random_procedure()
Dim thrdd1 As New Thread(AddressOf random_procedure)
thrdd1.IsBackground = True
thrdd1.Start()
Privavte Sub random_procedure()
*do some events*
seterrorprovider()
End Sub
Private sub seterrorprovider()
errorpro1.seterror(textbox1,"Unable to load")
End Sub
在您的UI表单中添加此代码,也许可以解决您的问题。发现问题,这只是另一个非法的CrossThreadCalls。无法跟踪它,因为我已在formload中将其设置为false。使用invoke创建子线程以更改主UI线程的文本。感谢所有试图帮助我的人我已经检查了非法线程调用,不管它是在表单加载期间。我更改了它,并将上面的构造函数添加到表单中。。但是还是一样。。
Public Sub New()
' This call is required by the designer。
InitializeComponent()
' Add any initialization after the InitializeComponent() call。
CheckForIllegalCrossThreadCalls = False
End Sub