1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[C#] Passar informações da Form2 para a Form1

Discussão em 'Programação' iniciada por orien, 1 de Junho de 2008. (Respostas: 1; Visualizações: 2515)

  1. orien

    orien [email protected] Member

    Boas pessoal... tenho feito imensas pesquisas de como fazer isto mas nao consigo por em pratica :(


    E o seguinte. Eu tenho 2 forms, na Form1 tenho 5 textbox que e para receber 5 numeros e Tenho um botao na form1 que chama a form2 que tem varioes botoes com numeros, cada um desses numeros declara um valor para uma variavel global dentro da form2.

    Dentro da mesma form2 tenho:
    Código:
    /*Form2*/
     
    [SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][SIZE=2] marcartexto()[/SIZE]
    [SIZE=2]{[/SIZE]
    [SIZE=2]string texto = Convert.ToString(numero);[/SIZE]
     
    [SIZE=2]}[/SIZE]
    [SIZE=2][COLOR=#0000ff]private[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][SIZE=2] button1_Click([/SIZE][SIZE=2][COLOR=#0000ff]object[/COLOR][/SIZE][SIZE=2] sender, [/SIZE][SIZE=2][COLOR=#2b91af]EventArgs[/COLOR][/SIZE][SIZE=2] e)[/SIZE]
    [SIZE=2]{[/SIZE]
    [SIZE=2]numero = 1;[/SIZE]
     
    [SIZE=2]marcartexto(numero);[/SIZE]
    [SIZE=2]}[/SIZE]
    
    Eu dentro do private void marcartexto queria por um codigo que desse para mandar a variavel "texto" para a textbox da form1.

    ...

    Na class da form1 tenho isto:
    Código:
    /*Form1*/
    [SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]string[/COLOR][/SIZE][SIZE=2] texto[/SIZE]
    [SIZE=2]{[/SIZE]
    [SIZE=2][COLOR=#0000ff]get[/COLOR][/SIZE][SIZE=2] { [/SIZE][SIZE=2][COLOR=#0000ff]return[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]this[/COLOR][/SIZE][SIZE=2].textBox1.Text; }[/SIZE]
    [SIZE=2][COLOR=#0000ff]set[/COLOR][/SIZE][SIZE=2] { [/SIZE][SIZE=2][COLOR=#0000ff]this[/COLOR][/SIZE][SIZE=2].textBox1.Text = [/SIZE][SIZE=2][COLOR=#0000ff]value[/COLOR][/SIZE][SIZE=2]; }[/SIZE]
    [SIZE=2]}[/SIZE]
    
    Mas eu nao consigo usar isto na form2 por exemplo...
    Código:
    /*Form2*/
    form1.textbox1.text = texto;

    Será que alguem me pode ajudar?


    Obrigado,

    Orien
     
    Última edição: 1 de Junho de 2008
  2. Quaker

    Quaker Power Member

    A solução é simples... Quando crias o form2 passas no construtor uma referência para o form1 ou seja

    Form1
    Código:
    public partial class Form1 : Form
        {
            private Form f;
    
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                f = new Form2(textBox1.Text);
                f.Show();
            }
        }
    
    Código Form2
    Código:
    public partial class Form2 : Form
        {
    
    
            public Form2(string txt)
            {
                InitializeComponent();
    
                textBox1.Text = txt;
            }
    
            
    
    
    
            private void Form2_Load(object sender, EventArgs e)
            {
    
            }
        }
    
    Neste Caso até só passei o valor da caixa de texto para dentro do form2 e voltei a apresentá-lo dentro de uma caixa de texto.
     
    Última edição: 2 de Junho de 2008

Partilhar esta Página