none
Como Form1 pode conversar com Form2 RRS feed

  • Pergunta

  • Olá, alguém pode me dar uma dica, por exemplo: Tenho um TextBox1.Text no Form1 e TextBox1.Text no Form2, quero transferir o que está escrito no TextBox1 do Form1 para o TextBox1 do Form2. Não tenho a mínima idéia como se faz isso, para quem sabe pode parecer até meio absurdo, mas alguém pode me dar essa luz?

    Grato / Durval

    segunda-feira, 2 de outubro de 2017 18:49

Respostas

  • No construtor do Form2 você cria um parâmetro do tipo TextBox, daí quando for exibir o Form2, você passar o TextBox1 do Form1 como parâmetro pra ele, daí poderá alterar o valor do Form1.TextBox1 mesmo de dentro do Form2.

    Ex:

    Public Class Form1
    
    Protected TextBox1 As TextBox
    
    Sub ExibirForm2()
    
    End Sub
    
    End Class
    
    
    
    Public Class Form2
    
    Protected TextBoxDoOutroForm As TextBox
    
    Sub Form2(ParamTextBox As TextBox)
        Me.TextBoxDoOutroForm = ParamTextBox
    End Sub
    
    
    Sub EmAlgumaAcaoDesseForm()
        Me.TextBoxDoOutroForm.Text = "Alterando valor do TextBox no Form1"
    End Sub
    
    End Class


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    • Marcado como Resposta Durval Teixeira terça-feira, 3 de outubro de 2017 15:56
    terça-feira, 3 de outubro de 2017 11:12
  • Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Form1.TextBox1 .Text = Form2.TextBox1 .Text 

    End Sub


    • Marcado como Resposta Durval Teixeira quarta-feira, 4 de outubro de 2017 23:44
    quarta-feira, 4 de outubro de 2017 13:24
  • Gênises, nem testei ainda esta tua super dica mas já acho que é bem isso que estava precisando. Na verdade baseado nesta tua dica vou escrever aqui o comando que vou colocar no meu aplicativo, será assim:

    if Form1.PictureBox1.BackColor = Form2.PictureBox1.BackColor Then ...  se funcionar assim, o meu problema estará resolvido.

    Muito obrigado pela força, abraço/Durval

    • Marcado como Resposta Durval Teixeira quinta-feira, 5 de outubro de 2017 14:17
    quarta-feira, 4 de outubro de 2017 23:44
  •        

    Bom dia Durval! Coloque esse código em um button! 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    If Me.PictureBox1.BackColor = Form2.PictureBox1.BackColor Then
                MsgBox("Cores iguais", MsgBoxStyle.Information, "Aviso")
            Else
                MsgBox("Cores diferentes", MsgBoxStyle.Critical, "Aviso")
            End If


        End Sub


           
    • Marcado como Resposta Durval Teixeira quinta-feira, 5 de outubro de 2017 14:16
    quinta-feira, 5 de outubro de 2017 13:17

Todas as Respostas

  • No construtor do Form2 você cria um parâmetro do tipo TextBox, daí quando for exibir o Form2, você passar o TextBox1 do Form1 como parâmetro pra ele, daí poderá alterar o valor do Form1.TextBox1 mesmo de dentro do Form2.

    Ex:

    Public Class Form1
    
    Protected TextBox1 As TextBox
    
    Sub ExibirForm2()
    
    End Sub
    
    End Class
    
    
    
    Public Class Form2
    
    Protected TextBoxDoOutroForm As TextBox
    
    Sub Form2(ParamTextBox As TextBox)
        Me.TextBoxDoOutroForm = ParamTextBox
    End Sub
    
    
    Sub EmAlgumaAcaoDesseForm()
        Me.TextBoxDoOutroForm.Text = "Alterando valor do TextBox no Form1"
    End Sub
    
    End Class


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    • Marcado como Resposta Durval Teixeira terça-feira, 3 de outubro de 2017 15:56
    terça-feira, 3 de outubro de 2017 11:12
  • Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Form1.TextBox1 .Text = Form2.TextBox1 .Text 

    End Sub


    • Marcado como Resposta Durval Teixeira quarta-feira, 4 de outubro de 2017 23:44
    quarta-feira, 4 de outubro de 2017 13:24
  • Gênises, nem testei ainda esta tua super dica mas já acho que é bem isso que estava precisando. Na verdade baseado nesta tua dica vou escrever aqui o comando que vou colocar no meu aplicativo, será assim:

    if Form1.PictureBox1.BackColor = Form2.PictureBox1.BackColor Then ...  se funcionar assim, o meu problema estará resolvido.

    Muito obrigado pela força, abraço/Durval

    • Marcado como Resposta Durval Teixeira quinta-feira, 5 de outubro de 2017 14:17
    quarta-feira, 4 de outubro de 2017 23:44
  • Cara, não deu certo, tentei de várias formas mas devido a minha falta de experiência ainda não consegui. Mas acho que agora ficou fácil para alguém entender o que estou querendo fazer.

    Então, quero fazer exatamente o que escrevi acima. Preciso comparar 2 PictureBox sendo que um ficará no Form1 e outro no Form2. Repetindo:

      If PictureBox1.BackColor (do Form1) = PictureBox1.BackColor (do Form2) são iguais?

    É só isso que preciso. O amigo Juliano Nunes me passou a dica dele acima, mas não consegui entender como posso transformar o que ele diz, nisso que estou precisando. 

    (Obs: Comecei minha pergunta usando TextBox porque sei que se funciona com os TextBox, funciona também com PictureBox)

    Grato/Durval 

    quinta-feira, 5 de outubro de 2017 00:32
  •        

    Bom dia Durval! Coloque esse código em um button! 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    If Me.PictureBox1.BackColor = Form2.PictureBox1.BackColor Then
                MsgBox("Cores iguais", MsgBoxStyle.Information, "Aviso")
            Else
                MsgBox("Cores diferentes", MsgBoxStyle.Critical, "Aviso")
            End If


        End Sub


           
    • Marcado como Resposta Durval Teixeira quinta-feira, 5 de outubro de 2017 14:16
    quinta-feira, 5 de outubro de 2017 13:17
  • Bom dia Durval! Coloque esse código em um button! 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    If Me.PictureBox1.BackColor = Form2.PictureBox1.BackColor Then
                MsgBox("Cores iguais", MsgBoxStyle.Information, "Aviso")
            Else
                MsgBox("Cores diferentes", MsgBoxStyle.Critical, "Aviso")
            End If


        End Sub

    quinta-feira, 5 de outubro de 2017 13:17
  • Valeu Gênesis, agora deu certinho, muito obrigado mesmo.

    Abraço/Durval

    quinta-feira, 5 de outubro de 2017 14:15
  • Valeu amigo! Abraço!

    • Editado Gênises quinta-feira, 5 de outubro de 2017 18:02
    quinta-feira, 5 de outubro de 2017 17:59