0

有谁知道如何从在线程中运行的实例化类调用主表单页面上的函数?

Public Class Test
    Public Sub Temp()
        Try
            'Operations here
        Catch ex as Exception
            Form1.Invoke(New Form1.LogMessageDelegate(AddressOf frmIP.LogMessage), "Error Message To Be Outputted to TextBox on Main Form")
        End Try
    End Sub
End Class

我会让它在函数中返回一个字符串,但我只在出现异常时调用文本框消息。感谢您的时间!

4

1 回答 1

0
Public Class Test
 Public Event ErrorMessage(errStr As String)
 Public Sub Temp()
    Try
        'Operations here
    Catch ex as Exception
        RaisEvent ErrorMessage(ex.Message)
    End Try
 End Sub
End Class

Public Class Form1
  Private Sub form1_load() Handles Me.Load
    Dim trd As New Thread(AddressOf RunTestClass)
    trd.Start()
  Ens Sub

  Private Sub RunTestClass()
    Dim _test As New Test
    Addhandler _test.ErrorMessage, AddressOf Test_ErrorMessage
    _test.Temp()
  End Sub

  Private Sub Test_ErrorMessage(errStr As String)
    Me.Invoke(Sub()
              'run code here for UI thread
              End Sub)
  End Sub
End Class
于 2013-03-24T00:41:54.570 回答