Relacionar Windows Forms

Por muito tempo eu tive esse problema, agora como resolver isso quero compartilhar com vocês.

Se de uma forma para outra forma chamada windows ou Visualizar propriedade. Ou. ShowDialog até eu fechar a segunda forma eu não tenho controle do formulário principal ... a menos que estas duas formas são "relacionado". Considere um exemplo simples para entender o conceito e como resolvê-lo.

A imagem é claramente um formulário principal com um "painel de movimento vermelho" botão e um painel vermelho. Pressionando fomrulario um segundo aberto com quatro botões (cima, baixo, esquerda e direita). Pressionar o botão que faz é mover o painel vermelho na direção indicada.

Formulariosconectados

ver o código de Form1

 Public Class Form1
     Private Sub Button1_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
         As New Form2 Dim vfrmForm2
         vfrmForm2.formulario1 = I
         vfrmForm2.ShowDialog ()
     End Sub
 End Class

e código do Form2

 Public Class Form2

     Form1 Form1 Como Pública

     BtnArriba_Click Private Sub (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnArriba.Click
         formulario1.Panel1.Top formulario1.Panel1.Top = - 1
     End Sub

     BtnDerecha_Click Private Sub (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDerecha.Click
         formulario1.Panel1.Left = + 1 formulario1.Panel1.Left
     End Sub

     BtnAbajo_Click Private Sub (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbajo.Click
         formulario1.Panel1.Top = + 1 formulario1.Panel1.Top
     End Sub

     BtnIzquierda_Click Private Sub (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzquierda.Click
         formulario1.Panel1.Left formulario1.Panel1.Left = - 1
     End Sub
 End Class

Como você pode ver não tem muito código para "conectar" as formas. Além disso, precisamos de apenas uma linha extra em cada formulário. No Form2 vou destacar a seguinte declaração: public Form1 Como Form1 Form1 e vfrmForm2.formulario1 = Me. Isso faz com que o Form1 instanciado na memória está ligada à declarou Form2 form1. A partir daqui, e eu posso relacionar e trabalhar com qualquer controle Form1, como simplesmente chamá-lo formulario1.panel1 panel1.

Eu espero que você encontrá-lo tão útil com ele é para mim.

3 Responses to "Windows Forms Relacionar"

  1. Josel disse:

    Muito bom, também se você tem chance que você poderia explicar como lidar com o formulário MDI

    Salduso

  2. Romina diz:

    os botões nas amostras de segunda janela pode ser atribuído teclas de movimento?

  3. leonel diz:

    esta interessante, mas que corresponde ao botão a caixa vermelha localizado no partir de 1, pq não funciona exemplo.

Comentar