PROCESSOS

GGERMINIANI 22/05/2014 17:24:52
#438422
Pessoal,
Boa tarde.

Estou com uma dúvida que está me deixando confuso...

Meu sistema está executando um comando que chega a uma pergunta de uma messagebox:

Ex:

  
[ô]...
public RESULTADO_DEF as Integer
[ô]...
If MessageBox.Show([Ô]O arquivo já foi criado. Para continuar, selecione a seguir uma das opção e depois confirme sua senha[Ô], [Ô]Atenção[Ô], MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.Yes Then

Definicoes.ShowDialog()
[ô]Aqui, gostaria que o sistema aguardasse uma resposta, até o formulário acima ser encerrado, e então continuasse...

If RESULTADO_DEF = 0 Then
[ô]...
ElseIf RESULTADO_DEF = 1 Then
[ô]...
Else
[ô][..]
End If

Else
Return False
End If


Acredito que seja alguma Thread, porem estou confuso do seu funcionamento...

O funcionamento seria como um MessageBox, pois me retornaria um valor de outro form.

Alguém pode me dar uma dica?

Grato.
KERPLUNK 22/05/2014 17:59:23
#438423
Nesse formulário Definicoes, deve ter um botão OK/Salvar ou algo parecido. Coloque a ação nele.
GGERMINIANI 23/05/2014 09:44:06
#438431
KERPLUNK,
Bom dia.

Sim, certamente terá o botão salvar neste outro form.

Porem minha confusão está no momento em que eu o chamo, para pedir que o código dê um break, pois o user terá de escolher uma opção e então clicar no OK deste form para volar o resultado.

Aí minha dúvida, no momento que estou no form PAGAMENTOS e chamo o form DEFINICOES... como seria feita essa parada na execução do código do PAGAMENTOS para esperar voltar uma resposta do DEFINICOES?

Grato.
OCELOT 23/05/2014 10:48:29
#438440
Se entendi direito o que você quer então já está correto.

Quando se usa o ShowDialog o código abaixo dessa linha não vai ser executado enquanto o form que foi aberto pelo ShowDialog não for fechado
GGERMINIANI 23/05/2014 11:15:42
#438441
A é? Puts não sabia e não tinha prestado a atenção nisso..

Vou testar aqui... muito obrigado!!

Retorno com resultado.

Abs
GUIMORAES 23/05/2014 14:41:14
#438453
Resposta escolhida
Realmente, o ShowDialog espera o formulário ser fechado para continuar com o processo.
Agora o que você pode fazer também é obter um retorno com dialogResult.

no formulário de chamada, você adiciona o seguinte.

If Form2.ShowDialog = Windows.Forms.DialogResult.OK Then
....Comando
End If

no formulário que será exibido, você adiciona o evento ao botão
Me.DialogResult = Windows.Forms.DialogResult.OK

Abraços.
GGERMINIANI 23/05/2014 17:31:15
#438456
OCELOT e GUIMORAES123
Quero agradecer-lhes pela ajuda!

Infelizmente tenho que escolher somente uma entre suas respostas, embora as duas foram eficazes no meu problema.

Vou eleger a do GUIMORAES123, pois se encaixou melhor no meu código.

Fica aqui uma possibilidade para que a coordenação analise a possibilidade de pontuar mais de um usuário.

Grato,
Gustavo.
Tópico encerrado , respostas não são mais permitidas