Foros del Web » Programación para mayores de 30 ;) » .NET »

Pasar un string entre formularios

Estas en el tema de Pasar un string entre formularios en el foro de .NET en Foros del Web. Hola. Tengo problemas para hacer esto de una forma correcta en Visual c#. Tengo un formulario A donde tengo un string que quiero pasar al ...
  #1 (permalink)  
Antiguo 13/01/2007, 06:02
 
Fecha de Ingreso: enero-2007
Mensajes: 9
Antigüedad: 17 años, 3 meses
Puntos: 0
Pasar un string entre formularios

Hola.

Tengo problemas para hacer esto de una forma correcta en Visual c#.

Tengo un formulario A donde tengo un string que quiero pasar al formulario B. El formulario B se ejecutará solo cuando el usuario quiera en el menu correspondiente.
Como puedo hacerlo?

Gracias
  #2 (permalink)  
Antiguo 15/01/2007, 06:47
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 2 meses
Puntos: 76
Re: Pasar un string entre formularios

Si creas una variable public en el formulario A, algo como esto:

public static string strA;
strA="El texto que quiero llevar";

Al abrir el form B

textbox.text = formularioA.strA;

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #3 (permalink)  
Antiguo 15/01/2007, 09:19
 
Fecha de Ingreso: enero-2007
Mensajes: 9
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Pasar un string entre formularios

Hola.

Pues no va, o no como debería.

Sucede que la pongo publica
public string pasar;

y luego trabajo con ella en una fucion en el formulario A

Hago un this.richtext.text=pasar;
y no funciona, sinembargo, si a la hora de declararla, la inicializo ( public string pasar="R"; ) si se ve la R.
He miraro a ver si en el formulario A hubiera alguna variable local que anule el valor, pero nada, y si la muestro por pantalla en el formualrio A, se muestra correctamente.
Que ocurre !!!????
  #4 (permalink)  
Antiguo 15/01/2007, 09:21
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Re: Pasar un string entre formularios

Tambien podrias pasarlo como parametro en el constructor, ya que se considera como una clase.

llamada de A a B

FormB nuevo = new FormB(parametro);
nuevo.Show();

en el form B
private string variableXFormA = null;
public FormB(string param)
{
variableXFormA = param;
InitializeComponent();
}//asi, en el form B utilizarias la variable privada >>variableXFormA<<

saludos
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #5 (permalink)  
Antiguo 15/01/2007, 09:51
 
Fecha de Ingreso: enero-2007
Mensajes: 9
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Pasar un string entre formularios

No se puede utilizar nuevo.Show(); es el usuario quien decide cuando ver ese formulario, y para entonces es cuando tiene que aparecer. Si funciona, pero cuando vuelves a entrar al formulario, ya ha desaparecido.
Salu2
  #6 (permalink)  
Antiguo 15/01/2007, 10:20
 
Fecha de Ingreso: enero-2007
Mensajes: 9
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Pasar un string entre formularios

Ante todo, gracias a todos.

Esto ha sido la solución, por si le sirve a alguien:

*A la hora de que el usuario quiera ver el formulario:

private void menuItem3_Click_1(object sender, System.EventArgs e)
{
Alertas F_Ale = new Alertas(alertasfinal);
F_Ale.Show();
}

* El string a pasar, variable global en Form1 ( es el formulario A ):

private string alertasfinal;

** En el FormB

private string alerta; // variable privada global al formulario
public Alertas(string alertas)
{
//
// Necesario para admitir el Diseñador de Windows Forms
//
alerta=alertas;
InitializeComponent();


//
// TODO: agregar código de constructor después de llamar a InitializeComponent
//
}

public void Alertas_Load(object sender, System.EventArgs e)
{
this.richTextBox1.Text=alerta;
}

Seguro que no es muy elegante, pero funciona...
  #7 (permalink)  
Antiguo 15/01/2007, 10:32
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 2 meses
Puntos: 76
Re: Pasar un string entre formularios

Cita:
Iniciado por rubens. Ver Mensaje
Hola.

Pues no va, o no como debería.

Sucede que la pongo publica
public string pasar;
Te falto el static

public static string pasar;

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #8 (permalink)  
Antiguo 15/01/2007, 10:35
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Re: Pasar un string entre formularios

Cita:
Iniciado por rubens. Ver Mensaje
Ante todo, gracias a todos.

Esto ha sido la solución, por si le sirve a alguien:

*A la hora de que el usuario quiera ver el formulario:

private void menuItem3_Click_1(object sender, System.EventArgs e)
{
Alertas F_Ale = new Alertas(alertasfinal);
F_Ale.Show();
}

* El string a pasar, variable global en Form1 ( es el formulario A ):

private string alertasfinal;

** En el FormB

private string alerta; // variable privada global al formulario
public Alertas(string alertas)
{
//
// Necesario para admitir el Diseñador de Windows Forms
//
alerta=alertas;
InitializeComponent();
...
}

public void Alertas_Load(object sender, System.EventArgs e)
{
this.richTextBox1.Text=alerta;
}

Seguro que no es muy elegante, pero funciona...
Es practicamente lo que te dije , ahora bien, lo que puedes hacer tambien, es crear una propiedad para el formulario 2, lo cual es casi practicamente lo mismo:

en el formulario B

Código:
//crear la propiedad
private string variableAlerta = null;
public string Propiedad
{
get {//regresa un valor
return variableAlerta;
} set {//establece un valor
variableAlerta = value;
}
} //en el mismo form B, por ejemplo en el load de del form private void FormB_Load(object sender, EventArgs e) { this.textbox1.Text = this.Propiedad; //o tambien this.textbox1.Text = variableAlerta; } //y en el form donde vas a hacer la llamada, FormA private bla bla bla... { FormB alertas = new FormB();<<fijate que ya no usas parametros alertas.Propiedad = tuVariableGlobal; <<aqui estableces el valor alertas.Show(); }
ese metodo tambien lo puedes usar, usa mas lineas pero supongo yo que se ve mas elegante

SALUDOS
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #9 (permalink)  
Antiguo 15/01/2007, 16:45
 
Fecha de Ingreso: diciembre-2006
Mensajes: 15
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Pasar un string entre formularios

Jejeje,po si Erick.

Gracias chavales
  #10 (permalink)  
Antiguo 16/01/2007, 05:56
 
Fecha de Ingreso: enero-2007
Mensajes: 9
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Pasar un string entre formularios

Veo que a alguien más le ha servido de ayuda ;)

Que poder tienen los foros, es la mejor forma de compartir los conocimientos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:39.