scorpio 7 Denunciar post Postado Julho 10, 2009 Hey! Tudo em ordem?? Tenho uma dúvida. Criei uma thread no Form1. Essa Thread chama o Form2. (.Show). Funcionou normal, mas logo após exibir o formulário, ele já desaparecia. Troquei o .Show por .ShowDialog e funcionou. Mas o ShowDialog trava o processamento... http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Public Class Form1 Dim t As Threading.Thread Dim x As Form2 Public Sub ChamaOutroFormulario() x = New Form2 'x.Show() Assim ele fecha. x.ShowDialog() 'Assim ele não fecha. Msgbox("Alo") End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click t = New Threading.Thread(AddressOf ChamaOutroFormulario) t.Start() End Sub End Class O Msgbox("Alo") só vai aparecer quando eu fechar o formulário x. Any idea? Até mais. [sim, editei] Compartilhar este post Link para o post Compartilhar em outros sites
Thiago Sobral 0 Denunciar post Postado Agosto 13, 2009 Olá Scorpio, beleza? Então, eu acredito que não tenha como você fazer isso que você está querendo... Uma thread ela fica ativa (viva) enquanto está processando alguma operacao, no seu caso o método "ChamaOutroFormulario", ao executar o Show do formulário, a Thread já executou o que tinha que executar, então morre, e o formulário morre junto com ela. Quando você executa o ShowDialog, ele funciona pois trava a thread que chamou o método. Se eu descobrir algo diferente disso, eu aviso. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
scorpio 7 Denunciar post Postado Agosto 15, 2009 Bom, fiquei com o ShowDialog mesmo. Serviu para o que eu precisava.Abraços! Compartilhar este post Link para o post Compartilhar em outros sites