elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
30 Agosto 2008, 12:23  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderadores: BADBYTE-K, hadess_inf)
| | | |-+  Problema con C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Problema con C#  (Leído 503 veces)
hadess_inf
Moderador
*****
Desconectado Desconectado

Mensajes: 662


Error de sistema: Pulsa F13 para continuar. >.<


Ver Perfil
Problema con C#
« en: 04 Noviembre 2007, 04:23 »

Hola, agradeceria si alguien me puede ayudar con algunas dudas que tengo, el lenguage es .Net Aplicacion de Windows en C#.

1. Tengo 2 form(form1 y form2), desde el form1 abro el form2 como modal, en el fom2 hay un button, al dar click en el button se tienen que cerrar el form1 y form2(¿Como hago eso posible?). Desde el form1 abro el form2 con la siguiente instruccion:

Citar
Form frm = new form2();
frm.Showdialog();

2. Tengo 2 form(form1 y form2) en el form1 hay un datagridview(datagridview1) este control esta conectado con la propiedad DATASOURCE a una tabla en una base de datos. Desde el form1 se abre un form2 en modo Modal (ShowDialog()). El problema es el siguiente, al cerrar el form2, se debe de actualizar el datagridview1(¿Como se hago esto posible?)

Desde ya gracias de antemano.
En línea
P[i]

Desconectado Desconectado

Mensajes: 432


www.SinLaMula.com - stage6.divx.com


Ver Perfil WWW
Re: Problema con C#
« Respuesta #1 en: 04 Noviembre 2007, 16:14 »

 Para el primero se puede hacer de muchas formas una es utilizando eventos y quedaria algo como:

Código:
void Funcion_que_llama_al_form2()
{
  Form frm = new form2();
  //supongo que el boton se llama btncerrartodo
  frm.btncerrartodo.Click += new System.EventHandler(this.cerraresto);
  frm.ShowDialog();
}

void cerraresto (object sender, EventArgs e)
{
    this.Close();
}
/*
Como ves no hace falta meter nada en el form2 solo en code del form1.
*/


El 2 pues lo unico que se tiene que hacer es declarar publico el datagridview1 y despues cuando cierres el form2  creas un nuevo evente closed y pones algo como:

Código:
void CerrarForm2(object ......)
{
  Bueno y dentro de esto pues actualizamos ahora no me acuerdo muy bien de como era esto pero se encuentra rapido. no se si era update o algo asi.
}

Saludos.
En línea

gusman

Desconectado Desconectado

Mensajes: 41



Ver Perfil WWW
Re: Problema con C#
« Respuesta #2 en: 05 Noviembre 2007, 00:24 »

Buenas.

También puedes crear una referencia al form de origen para poder acceder a sus controles, por ejemplo:

Código
public partial class Form1 : Form
{
 
   //controles, variables y genas varias blablabla
 
   internal DataGridView dataGridView1;
 
   void mostrar_form2()
   {
          Form2 frm = new Form2();
          frm.parent = this;
          frm.ShowDialog();
   }
 
 
}
 
public partial class Form2 : Form
{
 
   //controles, variables y genas varias blablabla
 
   internal Form1 parent;
 
   void cerrarform()
   {
          parent.dataGridView1.Refresh(); //o update o lo que tengas que hacer
          this.close();
 
   }
 
 
}

Fíjate que en el form1 he definido el dgv como internal, es para que haya acceso entre los módulos de la misma aplicación; si los controles los metes desde el diseñador cámbiales la propiedad Modifier a internal.

Lo bueno de este sistema es que dispones todavía de los datos del Form2 cuando vas a refrescar, y pueden ser útiles para hacer distintas cosas dependiendo del contenido del interfaz.

Un saludo.
En línea

No está muerto todo lo que yace y con extraños evos hasta la misma muerte puede morir.
Páginas: [1] Ir Arriba Imprimir 
Ir a:  





Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC