Vb.net 无法在线程中设置错误提供程序

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()

我一直在VB.NETWindows窗体中使用errorprovider,效果很好。我注意到,如果我试图在通过线程调用的过程中设置errorprovider seterror方法,则错误提供程序无法工作

启动线程时是否有遗漏的内容

我的代码:

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