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

Recargar form padre al guardar datos de form hijo (WinForm)

Estas en el tema de Recargar form padre al guardar datos de form hijo (WinForm) en el foro de .NET en Foros del Web. Buenas tardes a todos, tengo una duda que no soy capáz de resolver. La estructura de mi aplicación es la siguiente: - Tengo un form ...
  #1 (permalink)  
Antiguo 20/05/2011, 07:48
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Recargar form padre al guardar datos de form hijo (WinForm)

Buenas tardes a todos, tengo una duda que no soy capáz de resolver. La estructura de mi aplicación es la siguiente:

- Tengo un form principal "Usuarios" que contiene un flowlayout panel, el cual se carga con un control de usuario que trae los datos mediante linq de SQL.

- Tengo un segundo form "Gestion_usuarios" que se puede abrir de dos formas:

*Mediante doble clic en el control de usuario (Se abre para editar los datos de ese usuario en concreto).
*Mediante un boton que en el form principal (Para añadir un usuario nuevo).

Lo que necesito es que al darle al boton guardar del form "Gestion_usuarios" me actualice el form "Usuarios" con los cambios que hayan hecho en la BD.

Muchas gracias a todos por la ayuda.

El código es el siguiente:

Cita:
User_Control

public partial class Comercial_CU : UserControl
{
public Comercial_CU(string nombre, string turno, Image imagen)
{
InitializeComponent();
lbl_nombre.Text = nombre;
lbl_turno.Text = turno;
if (imagen != null)
{
pB_foto.Image = imagen;
}
}

private void Comercial_CU_Load(object sender, EventArgs e)
{
this.lbl_nombre.DoubleClick += Pinchar;
this.lbl_turno.DoubleClick += Pinchar;
this.pB_foto.DoubleClick += Pinchar;
this.DoubleClick += Pinchar;
}

private void Pinchar(object sender, EventArgs e)
{
Gestion_Comerciales gc = new Gestion_Comerciales();
gc.nComercial = lbl_nombre.Text;
gc.ShowDialog();
}
}

Form Principal "Usuarios"

public partial class Comerciales : Form
{
SQLDataContext s = new SQLDataContext();
public Comerciales()
{
InitializeComponent();
}

private void Comerciales_Load(object sender, EventArgs e)
{
fLP_panel.Controls.Clear();
var comerciales = from cm in s.Operadoras
join t in s.Turnos on cm.Turno equals t.Uid
select new
{
comercial = cm.Nombre,
turno = t.Descripcion,
foto = cm.Foto
};
foreach (var com in comerciales)
{
Image foto = null;
if(com.foto != null)
{
foto = this.CargarImagen(com.foto.ToArray());
}
Comercial_CU op = new Comercial_CU(com.comercial, com.turno, foto);
fLP_panel.Controls.Add(op);
Application.DoEvents();
}
}

private void bt_ok_Click(object sender, EventArgs e)
{
this.Close();
}

private void bt_nuevo_Click(object sender, EventArgs e)
{
Gestion_Comerciales gc = new Gestion_Comerciales();
gc.ShowDialog();
}

private Image CargarImagen(byte[] img)
{
Bitmap bmp = null;
byte[] bytes = (byte[])(img);
MemoryStream ms = new MemoryStream(bytes);
bmp = new Bitmap(ms);
return bmp;
}
}

Form Secundario "Gestion_usuarios"

private void bt_aceptar_Click(object sender, EventArgs e)
{
byte[] imagen = null;
if (pb_foto.Image != null)
{
imagen = this.GuardarImagen(pb_foto.Image);
}
if (_nComercial == null)
{
Operadoras operadora = new Operadoras();
operadora.Nombre = txt_nombre.Text;
operadora.Empresa = cmb_empresa.SelectedItem.ToString();
if (txt_dni.Text != "")
{
operadora.DNI = txt_dni.Text;
}
if (txt_direccion.Text != "")
{
operadora.Direccion = txt_direccion.Text;
}
if (txt_telefono.Text != "")
{
operadora.Telefono = txt_telefono.Text;
}
if (txt_comentarios.Text != "")
{
operadora.Comentarios = txt_comentarios.Text;
}
if (imagen != null)
{
operadora.Foto = imagen;
}
Turnos turno = s.Turnos.Single(trn => trn.Descripcion == cmb_turno.SelectedItem.ToString());
turno.Operadoras.Add(operadora);
s.SubmitChanges();
}
else
{
Operadoras operadora = s.Operadoras.Single(opr => opr.Nombre == _nComercial);
operadora.Nombre = txt_nombre.Text;
operadora.Empresa = cmb_empresa.SelectedItem.ToString();
if (txt_dni.Text != "")
{
operadora.DNI = txt_dni.Text;
}
if (txt_direccion.Text != "")
{
operadora.Direccion = txt_direccion.Text;
}
if (txt_telefono.Text != "")
{
operadora.Telefono = txt_telefono.Text;
}
if (txt_comentarios.Text != "")
{
operadora.Comentarios = txt_comentarios.Text;
}
if (imagen != null)
{
operadora.Foto = imagen;
}
else
{
operadora.Foto = null;
}
Turnos turno = s.Turnos.Single(trn => trn.Descripcion == cmb_turno.SelectedItem.ToString());
turno.Operadoras.Add(operadora);
s.SubmitChanges();
}
this.Close();
}

Etiquetas: padre, recargar, winform, formulario
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 18:27.