É POSSÃVEL PASSAR DADOS PARA OUTRO FORM?
Bom dia,colegas!
Esta é uma situação simples,mas bem especÃfica.
Eu tenho um projeto WinForm .NET (VB.NET).
Tenho um Form (Form1), que tem um botão,que ao ser clicado,
Abre um outro Form (Form2).
O problema:
Tenho que [Ô]A partir[Ô] do Form1, executar um método no Form2. Mas tem que ser
depois que o Form2,já esta aberto na frente do Form1).Em tempo de execução
é possÃvel???
Agradeço qualquer ajuda.
Esta é uma situação simples,mas bem especÃfica.
Eu tenho um projeto WinForm .NET (VB.NET).
Tenho um Form (Form1), que tem um botão,que ao ser clicado,
Abre um outro Form (Form2).
O problema:
Tenho que [Ô]A partir[Ô] do Form1, executar um método no Form2. Mas tem que ser
depois que o Form2,já esta aberto na frente do Form1).Em tempo de execução
é possÃvel???
Agradeço qualquer ajuda.
Procure a Propriedade Shown ela e executada quando o form literalmente terminou de carregar,
Exemplo: Form1 Botao Abre form2 --------- Form2 no Shown Coloque o que voce precisa
Exemplo: Form1 Botao Abre form2 --------- Form2 no Shown Coloque o que voce precisa
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Form2.Show()
MsgBox(Form.ActiveForm.Name)
End Sub
Colega,Kurtug.
Eu preciso executar um metodo do Form2, [Ô]Depois[Ô] que já esta aberto na tela do computador
Colega Jaba,
Desculpe,mas nao entendi como posso com esta sintaxe,executar um método do Form2, a partir do Form1.
Pode dar um exemplo???
Eu preciso executar um metodo do Form2, [Ô]Depois[Ô] que já esta aberto na tela do computador
Colega Jaba,
Desculpe,mas nao entendi como posso com esta sintaxe,executar um método do Form2, a partir do Form1.
Pode dar um exemplo???
Você disse que o Form2 teria que estar sobre o Form1, então é só pegar o form ativo e executar o método. Ex: Form.ActiveForm.SeuMetodo.
Se você quer executar um método dele sem que ele precise estar ativo na tela, então é só chamar diretamente Form2.SeuMetodo
Se você quer executar um método dele sem que ele precise estar ativo na tela, então é só chamar diretamente Form2.SeuMetodo
O que o método faz?
Por que vc não faz o seguinte
No form1 crie o procedimento desejado como público
exemplo
public sub MinhaFuncao
Seu código aqui
End Sub
No evento desejado no form2 execute a sub do form1
Por exemplo, no evento show do form2 execute a seguinte linha
Form1.MinhaFuncao
Se precisar de mais detalhes, poste um exemplo do que vc precisa
No form1 crie o procedimento desejado como público
exemplo
public sub MinhaFuncao
Seu código aqui
End Sub
No evento desejado no form2 execute a sub do form1
Por exemplo, no evento show do form2 execute a seguinte linha
Form1.MinhaFuncao
Se precisar de mais detalhes, poste um exemplo do que vc precisa
Pessoal,me expressei mal
Vou tentar ser mais claro e objetivo:
O que preciso é que meu Form principal (Form1), abra um outro form pequeno na frente dele (Form2).
Depois um método no form1,ao ser executado deverá enviar ao Form2 (Já aberto), mensagens que deverão ser exibidas no Form2.
Ou seja, o Form2, é uma tela na frente do Form1, que fica exibindo mensagens ao usuário sobre o andamento do que esta ocorrendo
no método do Form1.
Obs: é claro, que eu poderia exibir estas mensagens ao usuário,num Label , no mesmo Form1. Mas,não teria o efeito que preciso.
O problema:
Fazer o Form1 Abrir o Form2 e executar um método que exiba uma mensagem é tranquilo:
Dim FFrm2 As New Form2
FFrm2.NomedoMetodo
Mas,ao fazer isto o programa abre o Form2, executa o método exibindo a mensagem num Label do Form2 e [Ô]Para[Ô].
Ou seja, o método do Form1 ,que abriu o Form2, fica esperando eu fechar o Form2, para continuar o fluxo de execução
do restante do método.Eu preciso que ele,abra o Form2, execute o método do 2 e [Ô]Continue[Ô] o fluxo.E de vez em quando
com o Form2 [Ô]ainda[Ô] aberto fique executando as veses o método do Form2.
Obs: Se eu usar o ShowDialog, para poder continuar o fluxo no Form1, Vou precisar que o usuário feche na mão o Form2.
Se algum colega,puder sugerir algo,fico grato.....
Vou tentar ser mais claro e objetivo:
O que preciso é que meu Form principal (Form1), abra um outro form pequeno na frente dele (Form2).
Depois um método no form1,ao ser executado deverá enviar ao Form2 (Já aberto), mensagens que deverão ser exibidas no Form2.
Ou seja, o Form2, é uma tela na frente do Form1, que fica exibindo mensagens ao usuário sobre o andamento do que esta ocorrendo
no método do Form1.
Obs: é claro, que eu poderia exibir estas mensagens ao usuário,num Label , no mesmo Form1. Mas,não teria o efeito que preciso.
O problema:
Fazer o Form1 Abrir o Form2 e executar um método que exiba uma mensagem é tranquilo:
Dim FFrm2 As New Form2
FFrm2.NomedoMetodo
Mas,ao fazer isto o programa abre o Form2, executa o método exibindo a mensagem num Label do Form2 e [Ô]Para[Ô].
Ou seja, o método do Form1 ,que abriu o Form2, fica esperando eu fechar o Form2, para continuar o fluxo de execução
do restante do método.Eu preciso que ele,abra o Form2, execute o método do 2 e [Ô]Continue[Ô] o fluxo.E de vez em quando
com o Form2 [Ô]ainda[Ô] aberto fique executando as veses o método do Form2.
Obs: Se eu usar o ShowDialog, para poder continuar o fluxo no Form1, Vou precisar que o usuário feche na mão o Form2.
Se algum colega,puder sugerir algo,fico grato.....
Fiz aqui exibindo números aleatórios.
Jaba,Muito obrigado!
Exemplo simples e objetivo!
O que acontece,é que eu já fazia isto no VB 6. Mas, no .NET eu imaginei que como tudo é objeto e tem de ser
instanciado, toda vez que for usar. Achei que teria de instanciar [Ô]De novo[Ô], se fosse precisar mais tarde no código.
Exemplo simples e objetivo!
O que acontece,é que eu já fazia isto no VB 6. Mas, no .NET eu imaginei que como tudo é objeto e tem de ser
instanciado, toda vez que for usar. Achei que teria de instanciar [Ô]De novo[Ô], se fosse precisar mais tarde no código.
Tópico encerrado , respostas não são mais permitidas