none
Fechar outro form de dentro de uma thread ? RRS feed

  • Pergunta

  •  

    Pessoal... estou tentando de dentro de uma thread executada no form1, fechar o form2 (código abaixo) - mas não estou conseguindo !!! Poderiam ajudar ?

     

    Tks

     

    Imports System.Threading.Thread

    Public Delegate Sub FormCloseDelegate()

     

    Public Class Form1

    Public TD_teste As System.Threading.Thread

    Dim i As Integer

     

    Sub teste()

    For i = 1 To 10

    Sleep(500)

    If i = 5 Then

    FormClose()

    End If

    Next

    End Sub

     

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Form2.Show()

    TD_teste = New Threading.Thread(New Threading.ThreadStart(AddressOf teste))

    TD_teste.Start()

    End Sub

     

    Public Sub FormClose()

    If Form2.InvokeRequired Then

    Form2.Invoke(New FormCloseDelegate(AddressOf FormClose))

    'tentei desta forma também mas nao deu certo :

    Form2.Invoke(New FormCloseDelegate(AddressOf Form2.Close))

    Else

    Form2.Close()

    End If

    End Sub

     

    End Class

    quarta-feira, 16 de janeiro de 2008 11:30

Todas as Respostas