C sharp - Pasar datos entre formularios

 
Vista:
Imágen de perfil de Cristian
Val: 16
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Pasar datos entre formularios

Publicado por Cristian (19 intervenciones) el 23/08/2021 00:28:48
Hola...
Estoy intentando pasar datos de un formulario a otro pero no logro que funcione.
Necesito pasar ese valor desde un datagridview.
Cuando interrumpo el proceso veo que el valor lo pasa bien, pero no lo muestra.

1
2
frmPresupuesto frmPresupuesto = new frmPresupuesto();
                frmPresupuesto.txtCodcli.Text = gridClientes.CurrentRow.Cells[0].Value.ToString();

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Santiago

Pasar datos entre formularios

Publicado por Santiago (24 intervenciones) el 23/08/2021 17:09:12
Hola:

Normalmente, los controles de un formulario son privados (private), por lo que no se suelen usar para recibir datos. Lo normal es establecer una propiedad en el formulario. Por ejemplo:

1
2
3
4
5
6
7
8
9
public partial class frmPresupuesto : Form
    {
        public string CodCliente { get; set; }
 
        public frmPresupuesto()
        {
            InitializeComponent();
        }
    }

Sustituyes la llamada:

frmPresupuesto.txtCodcli.Text

por:

frmPresupuesto.CodCliente

Y en el evento "Shown" del formulario "frmPresupuesto":

1
2
3
4
private void frmPresupuesto_Shown(object sender, EventArgs e)
        {
            txtCodcli.Text = CodCliente;
        }

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Cristian
Val: 16
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Pasar datos entre formularios

Publicado por Cristian (19 intervenciones) el 23/08/2021 19:38:02
Hola Santiago, gracias por responder.

Si, los controles son privados por eso cambie la propiedad "Modifiers a Public" ; pero bueno probare como me estas indicando y luego te comento.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Santiago

Pasar datos entre formularios

Publicado por Santiago (24 intervenciones) el 23/08/2021 20:13:26
Sí, es más recomendable. No es conveniente cambiar el "Private" por el "Public" de los controles.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Cristian
Val: 16
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Pasar datos entre formularios

Publicado por Cristian (19 intervenciones) el 23/08/2021 21:15:09
Santiago, tengo el mismo problema, porque yo necesito usar el formulario que ya tengo en uso. Tal vez mi error fue no preguntar de manera especifica.

Tengo un formulario que debe llamar a otro y buscar a un cliente y mostrarlo en ese mismo abierto, luego buscar artículos y hacer lo mismo.

Si hago una instanciación del formulario obviamente lo busca nuevo, pero necesito pasar datos en formularios abiertos.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Santiago

Pasar datos entre formularios

Publicado por Santiago (24 intervenciones) el 23/08/2021 21:26:29
Perdona, necesito un poco más de información.

Tienes un formulario A desde el cual llamas a otro B (frmPresupuesto) y le pasas el código de cliente. ¿Qué más haces en B?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Cristian
Val: 16
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Pasar datos entre formularios

Publicado por Cristian (19 intervenciones) el 24/08/2021 01:38:26
Si.. te Explico. Tengo el formulario presupuesto, que a su vez llama al formulario clientes para seleccionar los datos y despues al formulario articulos y solicitar los articulos solicitados. Entonces necesito hacer hacer lo que hacia con el viejo VB6 que no hacia falta instanciar un formulario para pasar los datos, solamente era:

formulario.txtnombre.text="Dato" lo cerraba y los datos estaban en el formulario inicial..



Aca al instanciar frmPresupuesto frmPresupuesto = new frmPresupuesto(); me pasa los datos a un nuevo formulario y no necesito eso.

No se si me explico ???

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Cristian
Val: 16
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Pasar datos entre formularios

Publicado por Cristian (19 intervenciones) el 24/08/2021 15:53:35
Hola.. he logrado solucionarlo de la siguiente manera. Dejo el codigo por si a alguien le sirve.

1
2
3
4
5
frmPresupuesto frm = Application.OpenForms["frmpresupuesto"] as frmPresupuesto;
 
frm.txtCodcli.Text= gridClientes.CurrentRow.Cells[0].Value.ToString();
 
Close();

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Yenier

Pasar datos entre formularios

Publicado por Yenier (12 intervenciones) el 23/09/2021 18:21:53
En caso de dudas de programacion te las puedo evacuar al correo : [email protected] o a mi whatsapp + 506 8949 9901 ,saludos!
Tengo un ejemplo como el que necesitas!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Cristian
Val: 16
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Pasar datos entre formularios

Publicado por Cristian (19 intervenciones) el 24/09/2021 13:32:57
Hola Yenier, muchas gracias.

Te escribo a la brevedad.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar