haggen 0 Denunciar post Postado Janeiro 18, 2006 pqp naum aguento mais procurar por isso e soh encontra aquela maldita "solução" que não funciona... eu tenho dois forms, e quero acessar um textbox que esta no outro... googleando por aih voce encontra uma simples solução bem facil: class Form2 { Form1 frm = new Form1(); frm.TextBox1.Text = "ola";}meu, naum aguento mais tenta esta mer** e naum conseguir nada...pela amor de deus alguem me da um help, ja to de saco cheio :( eu tava lendo tambem sobre declaração talz, public, protected, private, e etc... pelo que eu intendi eh soh mete um PUBLIC no que voce quer usar e pronto, mas tambem naum eh assim :( abaixo segue meu codigo using System;using System.IO;using System.Drawing;using System.Diagnostics;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace WTFE { public class MainForm : System.Windows.Forms.Form { public System.Windows.Forms.ListBox lstAddress; public MainForm() {InitializeComponent();} protected override void Dispose( bool disposing ) { if( disposing ) {if (components != null) components.Dispose();} base.Dispose( disposing ); } // aqueles troço gerado pelo Designer... [STAThread] static void Main() {Application.Run(new MainForm());} }} using System;using System.Drawing;using System.Windows.Forms;namespace WTFE{ public class frmNew : System.Windows.Forms.Form { private System.Windows.Forms.Button btnAdd; private System.Windows.Forms.TextBox txbAddress; public frmNew() {InitializeComponent();} // mais daqueles troços gerados pelo Designer public void AddClick(object sender, System.EventArgs e) { //aqui eh onde eu quero colocar MainForm f = new MainForm(); f.lstAddress.Items.Add(txbAddress.Text); } }} Compartilhar este post Link para o post Compartilhar em outros sites
eriva_br 7 Denunciar post Postado Janeiro 18, 2006 aqui tem este skema de acessar o textbox de outro form, esta em vb.net é só trocar a sintaxe pois a idéia é a mesma, se precisar aqui no fórum tem alguns sites que fazem a conversão de C#.net pra vb.net e vice-versa. http://forum.imasters.com.br/index.php?sho...53entry449553 Compartilhar este post Link para o post Compartilhar em outros sites
Homero C. de Almeida 0 Denunciar post Postado Março 2, 2006 Você só pode acessar membros de outra classe que sejam publicos. Nenhum objeto pode acessar dados privados de outro objeto. O que ocorre no seu caso é exatamente isso: você pode verificar no segundo código que você declarou os componentes como sendo campos PRIVADOS (private). Dessa forma é lógico que você não iria conseguir acessar nunca os objetos a partir de outro form (ou de qualquer outra classe). Compartilhar este post Link para o post Compartilhar em outros sites
System 0 Denunciar post Postado Março 17, 2006 Olás! Cara, para fazer isso, você pode fazer assim: Dim frm = new Form2frm.Show() Depois, você pode acessar os controles do Form2, fazendo assim: frm.caixaDeTexto1.Text Mas para isso tem que configurar o caixaDeTexto1 como public para que isso funcione. Espero ter ajudado. Compartilhar este post Link para o post Compartilhar em outros sites
Juliano.net 2 Denunciar post Postado Março 19, 2006 Se você possui 2 forms abertos e de um deles você quer alterar alguma propriedade do outro form ou de seus controles você tem que ter a referência (Endereço) da instância do outro form.Você pode armazenar em um array ou variável comum a lista de forms abertos, daí você busca o que você quer alterar e controla as propriedades dele. Compartilhar este post Link para o post Compartilhar em outros sites
Fruhstuck 0 Denunciar post Postado Abril 9, 2007 E como faz isso? Olás!Cara, para fazer isso, você pode fazer assim: Dim frm = new Form2frm.Show()Depois, você pode acessar os controles do Form2, fazendo assim:frm.caixaDeTexto1.TextMas para isso tem que configurar o caixaDeTexto1 como public para que isso funcione.Espero ter ajudado. Compartilhar este post Link para o post Compartilhar em outros sites
Ricardo Vano 0 Denunciar post Postado Setembro 28, 2007 Altere onde está: private System.Windows.Forms.TextBox txbAddress; para: public System.Windows.Forms.TextBox txbAddress; Compartilhar este post Link para o post Compartilhar em outros sites
V.net 0 Denunciar post Postado Outubro 11, 2007 você tb pode passar parametros na chamada da form: No Form1 você coloca na chamada da classe Ex: Form2 f2 = new Form2("teste"); No Form2 você coloca na classe private/ public Form2(string variavel){... V.Net http://www.viewmedia.com.br Compartilhar este post Link para o post Compartilhar em outros sites
MarkBR 0 Denunciar post Postado Novembro 13, 2007 Olá haggen. Pelo q entendi de sua necessidade; você precisa pegar o valor do textbox do form desejado pra usar no seu form "pai". você pode usar delegates pra isso. Veja o exemplo abaixo: Form1 q chama form2 com textbox: private void btnForm1_Click(object sender, System.EventArgs e) { // Create an instance of the form that performs a lookup Form2 form2 = new Form2(); // Create an instance of the delegate form2.passControl = new Form2.PassControl(PassData); // Toon form form2.Show(); } private void PassData(object sender) { txtForm1.Text = ((TextBox)sender).Text; } Form2 com o delegate passando o valor do textbox pro form1. public delegate void PassControl(object sender); public PassControl passControl; public Form2() { InitializeComponent(); } private void btnForm2_Click(object sender, System.EventArgs e) { if (passControl != null) { passControl(txtForm2); } this.Close(); } Té mais... Compartilhar este post Link para o post Compartilhar em outros sites