Enviar dados de um form para outro

.NET

03/12/2012

Pessoal estou precisando de uma forcinha. Tenho que enviar dados de um form para outro sem usar o Form.Show(), pois preciso que os dois forms estejam abertos.
Alguem tem alguma ideia?
Estou usando esse exemplo, mas só funciona com o Form.Show().

Código no form onde estão os dados a enviar
        
public string _textBox1
        {
            get { return textBox1.Text; }
        }

private void button1_Click(object sender, EventArgs e)
        {
            frmVendas frm = new frmVendas();
            frm._textBox = _textBox1;
            frm.Show(); //Se eu usar este codigo aqui, funciona
            this.Close();
           
        }


Codigo no form que vai receber os dados
        public string _textBox
        {
            set { lbDescricao.Text = value; }
        }
Carlos Escudeiro

Carlos Escudeiro

Curtidas 1

Respostas

Fernando Mauricio

Fernando Mauricio

03/12/2012

olá
Para enviar dados de um objecto de um form para o outro vc primeiro deve definir o objecto como publico
Depois tens de instanciar o formulário.
digamos se estanciaste o formulário com o nome "formeEs" o código fica assim fica assim:
formEs."o nome do objeto(por exemplo TextBox1)"."a propriedade(por exemplo ."text")"="o valor que ele recebe a partir do formulario aberto"
.
OBS:Não percebi qual a linguagem estas a utilizar por isso não meti o código ja feito mas podes dizer qual a linguagem se não conseguires
GOSTEI 0
Carlos Escudeiro

Carlos Escudeiro

03/12/2012

A linguagem é C#, se puder postar um codigo de exemplo ficarei grato
GOSTEI 0
Fernando Mauricio

Fernando Mauricio

03/12/2012

Olha fiz um programa com duas form, na form1 inceri uma textBox e dois butões e na form2 inceri uma listBox
o primeiro botão é para enviar o texto que esta na TextBox para a listBox do form2 não importando se ele ja foi chamado ou não. isto é antes de chamar o form2 vc pode incerir la os dados e mesmo depois de chamado podes continuar apartir da form2 enviar os dados que sera automaticamente atualizado. Ai vai o codigo:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
Form2 f2 = new Form2(); //intanciar o form2
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
f2.listBox1.Items.Add(textBox1.Text);// aqui ele diz que o f2 (que é a intancia do form2).listBox(que é a lixtBox que esta no form2). A propriedade da lixtBox que neste caso é o items por quanto queremos mecher nos intes desta lite. add que é a propriedade para adicionar valor(textBox1.text isto é o texto da textBox)
}

private void button2_Click(object sender, EventArgs e)
{
f2.Show();// chama o form2
}
}
}
Se a duvida continuar esse é o meu endereço para melhor espricação: nadi-mauricio@hotmail.com
GOSTEI 0
Fernando Mauricio

Fernando Mauricio

03/12/2012

Olha, me esquece de algo
Tens de ir na propriedade: "modifier" da listBox e definir ela como publica, isto para permitir que ela seja modificada apartir de outros formularios. A mesma logica podes usar com label, textBox,buton etc. Isto dependendo da sua necessidade,
Existem muitos metodos para vc fazer o que pretendes (polimorfismo em programação) mas achei esse o mais simpres.
GOSTEI 0
Carlos Escudeiro

Carlos Escudeiro

03/12/2012

fernando Mauricio, muito obrigado pela ajuda.
GOSTEI 0
Ruan

Ruan

03/12/2012

fernando Mauricio, muito obrigado pela ajuda.


Conseguiu resolver esse problemas de comunicação entre os dois forms estando os dois abertos ?
GOSTEI 0
POSTAR