-1

这是我的代码

Public th As New Thread(New ThreadStart(AddressOf StartFirstPrint))
Public th4 As New Thread(New ThreadStart(AddressOf sendFirstEmail))

这是和的StartFirstPrint代码sendFirstEmail

Public Sub StartFirstPrint()
  Do While thCont
    Try
      Dim frm As New frmPrint()
      'frm.MdiParent = Me
      frm.StartPrinting()
    Catch ex As Exception
    End Try
  Loop
End Sub

Public Sub sendFirstEmail()
  Do While thCont
    Try
      Dim frmSNDEmail As New frmEmail
      frmSNDEmail.SendEmails()
    Catch ex As Exception
    End Try
  Loop
End Sub

thCont是一个公共布尔变量,指定何时购买这些线程。

如果我访问 from 的任何控件和frmPrintfrom的StartPrinting任何控件frmEmailSendEmails它会是线程不安全调用吗? StartPrinting是的公共子,frmPrint并且SendEmails是的公共子frmEmail

4

1 回答 1

0

您无法访问控件,因为您会因为尝试从不是创建它们的线程的线程访问控件而获得异常。该方法在 Form 内部并没有什么不同 - 它仍然是从不同的线程调用的。

于 2012-11-18T23:32:50.797 回答