Principales respuestas
pasar datos de formulario padre a hijo y viceversa ayuda!!!

Pregunta
-
Bueno otra vez por aquí ocupando ayuda, de antemano gracias...
antes que nada e podido pasar variables sin problemas de formulario padre a hijo con modificadores de acceso, con métodos estáticos sin ningún problema, el problema que tengo es a la hora de hacerlo viceversa intento hacer lo mismo pero no puedo por que borro otros datos del form padre es decir se reinicia ala hora de crear la instancia nuevamente desde el form hijo.
He tratado de no crear la instancia formpadre frm = new formpadre(); frm.show(); pero si no la creo no puedo enviar el dato para el form padre no se si me halla explicado.
gracias y disculpen pero no hayo como explicarme mejor...
- Cambiado webJoseModerator lunes, 22 de octubre de 2012 0:50 (De:Lenguaje C#)
Respuestas
-
hola
para apsar datos del form padre al hijo usa el constructor del form o propiedades
[WinForms] – Pasaje de información formulario hijo
ahora para pasar datos del form hijo al padre puede variar pero podrias suar interfaces para desacoplar la comunicacion
Comunicar formularios de forma desacoplada
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta Gilberto2708 lunes, 22 de octubre de 2012 15:38
-
Hola.
Hace un tiempo escribí un artículo en mi blog:
http://nicolocodev.wordpress.com/2011/05/17/pasar-datos-de-form-hijo-a-form-padre/
Espero te sea de utilidad.
Saludos.
Nicolás Herrera
Bogotá - Colombia
BLOG | @nicolocodev
"Daría todo lo que sé, por la mitad de lo que ignoro." Rene Descartes- Marcado como respuesta Gilberto2708 lunes, 22 de octubre de 2012 15:38
Todas las respuestas
-
Hola.
Hace un tiempo escribí un artículo en mi blog:
http://nicolocodev.wordpress.com/2011/05/17/pasar-datos-de-form-hijo-a-form-padre/
Espero te sea de utilidad.
Saludos.
Nicolás Herrera
Bogotá - Colombia
BLOG | @nicolocodev
"Daría todo lo que sé, por la mitad de lo que ignoro." Rene Descartes- Marcado como respuesta Gilberto2708 lunes, 22 de octubre de 2012 15:38
-
hola
para apsar datos del form padre al hijo usa el constructor del form o propiedades
[WinForms] – Pasaje de información formulario hijo
ahora para pasar datos del form hijo al padre puede variar pero podrias suar interfaces para desacoplar la comunicacion
Comunicar formularios de forma desacoplada
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta Gilberto2708 lunes, 22 de octubre de 2012 15:38
-
Eso lo puede lograr mediante:
1. Un contructor
2. Un metodo
3. Una propiedad publica
Tutorial: Pasar datos entre formularios en una aplicación para Windows
Cómo pasar datos a un formulario Por Enrique Martínez Montejo
Angel R. Jimenez G.
Software Development
Santo Domingo
Republica Dominicana
Blog -
-
Amigo por favor me podrias ayudar con: Cómo pasar datos a un formulario Por Enrique Martínez Montejo lo he implementado desde un form que tiene textbox enlazados pero al regresar no me cambia el textbox padre. Gracias.
Angeliz Venturi
-
/////////////////////////////////////////////
clase form1
{
private Frmprincipal principal;
private List<Partido> listaPartidos;
List<Estadio> estadios = new List<Estadio>();
List<Equipo> equipos = new List<Equipo>();
public FrmAgenda()
{
InitializeComponent();
}
public FrmAgenda(Frmprincipal frmPrincipal)
{
this.principal= frmPrincipal;
listaPartidos = principal.ListaPartidos;
InitializeComponent();
}
private void FrmAgenda_Load(object sender, EventArgs e)
{
Estadio estadio1 = new Estadio(1, "Casa Blanca");
Estadio estadio2 = new Estadio(2, "Capwell");
estadios.Add(estadio1);
estadios.Add(estadio2);
Equipo team1 = new Equipo(1, "Liga", estadio1);
Equipo team2 = new Equipo(2, "Emelec", estadio2);
equipos.Add(team1);
equipos.Add(team2);
cmbEquipo1.Items.Clear();
foreach (var iter in equipos)
{
cmbEquipo1.Items.Add(iter);
}
cmbEquipo2.Items.Clear();
foreach (var iter in equipos)
{
cmbEquipo2.Items.Add(iter);
}
}
private void btnGuardar_Click(object sender, EventArgs e)
{
int idPartido = Convert.ToInt32(Partido_Futbol_Prueba2.Frmprincipal.idPartido);
Estadio auxEstadio = (Estadio)cbxEstadio.SelectedItem;
Equipo auxEquipo1 = (Equipo)cmbEquipo1.SelectedItem;
Equipo auxEquipo2 = (Equipo)cmbEquipo2.SelectedItem;
Equipo local = new Equipo();
local.NombreEquipo = lblEquipoLocal.Text;
DateTime fechaHora = dtpFechaYHora.Value;
int cuenta = 0;
foreach (var iterFecha in listaPartidos)
{
if ((dtpFechaYHora.Value.Date == (iterFecha.Fecha)) || ((dtpFechaYHora.Value.Hour < (iterFecha.Fecha.Hour + 2)) && (dtpFechaYHora.Value.Hour > iterFecha.Fecha.Hour - 2)) || dtpFechaYHora.Value.Hour == iterFecha.Fecha.Hour)
cuenta = cuenta + 1;
}
if (auxEquipo1 != auxEquipo2)
{
if(cuenta == 0)
{
Partido partido = new Partido(idPartido++, auxEquipo1, auxEquipo2, local, fechaHora, auxEstadio);
listaPartidos.Add(partido);
lstPartidos.Items.Clear();
foreach (var iter in listaPartidos)
{
lstPartidos.Items.Add(iter);
}
}else
{
MessageBox.Show("Fecha invalida");
}
}
else
{
MessageBox.Show("Seleccione los equipos correctamente");
}
}
private void rbtEquipo1_CheckedChanged(object sender, EventArgs e)
{
Equipo aux = (Equipo)cmbEquipo1.SelectedItem;
cbxEstadio.Items.Clear();
foreach (var iter in equipos)
{
if (aux == iter)
cbxEstadio.Items.Add(iter.Stadium);
lblEquipoLocal.Text = ("Equipo Local: "+ aux.NombreEquipo);
}
}
private void rbtEquipo2_CheckedChanged(object sender, EventArgs e)
{
Equipo aux = (Equipo)cmbEquipo2.SelectedItem;
cbxEstadio.Items.Clear();
foreach (var iter in equipos)
{
if (aux == iter)
cbxEstadio.Items.Add(iter.Stadium);
lblEquipoLocal.Text = ("Equipo Local: " + aux.NombreEquipo);
}
}
private void btnRetornar_Click(object sender, EventArgs e)
{
this.Close();
}
}///////////////////////////////////////////////////////////////////////////////////////////
Clase frorm 2:
{
private List<Partido> listaPartidos;
Frmprincipal principal;
public FrmConsulta()
{
InitializeComponent();
}
public FrmConsulta(Frmprincipal frmPrincipal)
{
principal = frmPrincipal;
listaPartidos = principal.ListaPartidos;
InitializeComponent();
}
private void FrmConsulta_Load(object sender, EventArgs e)
{
}
private void btnBuscar_Click(object sender, EventArgs e)
{
lstConsultaPartidos.Items.Clear();
foreach (var iter in listaPartidos)
{
if (iter.Fecha == dtpFecha.Value)
{
lstConsultaPartidos.Items.Add(iter);
}
}
}
}//////////////////////////////////////////////////////////////////////////////////////////////////////////
por si te es de ayuda es un proyecto que realice hace poco