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

C# Evento Form Load no funciona

Estas en el tema de C# Evento Form Load no funciona en el foro de .NET en Foros del Web. Buenos días! Estuve horas y horas intentando determinar por que una aplicacion mia no fucionaba correctamente y he visto que el problema es porque el ...
  #1 (permalink)  
Antiguo 20/05/2010, 09:57
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Pregunta C# Evento Form Load no funciona

Buenos días!

Estuve horas y horas intentando determinar por que una aplicacion mia no fucionaba correctamente y he visto que el problema es porque el evento Load del Form no se dispara nunca.

Tambien probe iniciar un proyecto desde 0 y sucede lo mismo

He verificado que el handler este en su lugar:
Código:
this.Load += new System.EventHandler(this.Form1_Load);
¿Que puede suceder?

Muchas Gracias!
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #2 (permalink)  
Antiguo 20/05/2010, 10:10
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: C# Evento Form Load no funciona

Tocas algo del código cuando creas el proyecto desde 0? Que prueba haces para afirmar que no te funciona? Puedes copiarme el código de Program.cs?
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 20/05/2010, 10:39
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Exclamación Respuesta: C# Evento Form Load no funciona

Cita:
Iniciado por Malenko Ver Mensaje
Que prueba haces para afirmar que no te funciona?
Creo un nuevo proyecto, y coloco dentro del evento Form1_Load un breakpoint en una linea donde declaro una variable string, por ejemplo:
Código C#:
Ver original
  1. private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             string cadena = "hola"; // Aqui va el breakpoint
  4.         }

Y no se detiene...

Creo que tiene que ver con algo que genero temporalmente visual studio, ya que en otra PC no tengo ese problema. Es raro, nunca antes me habia pasado, y sucedio luego de experimentar con SQLite cargando comandos en el Load del Form1.

Por si lo quieres el Program.cs es este:
Código C#:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Windows.Forms;
  5.  
  6. namespace WindowsFormsApplication3
  7. {
  8.     static class Program
  9.     {
  10.         /// <summary>
  11.         /// The main entry point for the application.
  12.         /// </summary>
  13.         [STAThread]
  14.         static void Main()
  15.         {
  16.             Application.EnableVisualStyles();
  17.             Application.SetCompatibleTextRenderingDefault(false);
  18.             Application.Run(new Form1());
  19.         }
  20.     }
  21. }
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #4 (permalink)  
Antiguo 20/05/2010, 10:57
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: C# Evento Form Load no funciona

Te he enviado mi mail por privado. Si quieres pasame el código de este nuevo proyecto y le doy un vistazo :)
__________________
Aviso: No se resuelven dudas por MP!
  #5 (permalink)  
Antiguo 21/05/2010, 06:20
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Exclamación Respuesta: C# Evento Form Load no funciona

Te paso el ejemplo simplificado ya que encontre la forma de volver a generar el problema, quizas es un error mio de conceptos.

Pues bien, el evento Load del formulario cuando llega a la creacion del objeto sqlite deja de responder, pero la aplicacion no se detiene, ni tampoco genera error alguno, ni siquiera un simple warning de lo que pueda estar pasando.

FormMain.cs
Código C#:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace SQLiteTools
  11. {
  12.     public partial class FormMain : Form
  13.     {
  14.         public FormMain()
  15.         {
  16.             InitializeComponent();
  17.         }
  18.  
  19.         private void FormMain_Load(object sender, EventArgs e)
  20.         {
  21.             this.Text = "hola";
  22.             SQLiteClass sqlite = new SQLiteClass();
  23.             this.Text = "chau";
  24.         }
  25.  
  26.  
  27.     }
  28. }

SQLiteClass.cs
Código C#:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Data;
  6. using System.Data.SQLite;
  7.  
  8. class SQLiteClass
  9. {
  10.     SQLiteDataAdapter da;
  11.  
  12.     public DataSet ds = new DataSet();
  13.  
  14.     public DataTable dt = new DataTable();
  15.  
  16.     SQLiteConnection conexion = new SQLiteConnection(@"Data Source=D:\Data\prueba.sqlite;Version=3;");
  17.  
  18. }

¿Quizas me olvido de algo?
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #6 (permalink)  
Antiguo 21/05/2010, 06:35
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: C# Evento Form Load no funciona

Yo, para empezar, pondría el código del evento Load entre un try/catch para capturar excepciones. Otra cosa que miraría, tema permisos: tienes permisos para acceder al fichero que abre el SQLiteConnection?
__________________
Aviso: No se resuelven dudas por MP!
  #7 (permalink)  
Antiguo 21/05/2010, 06:57
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Exclamación Respuesta: C# Evento Form Load no funciona

Si, tengo permisos. Pero ya estoy seguro que es un error de concepto, es decir, en el evento Load del Form, no puedo crear un objeto asociado a una base de datos. Aunque... no se el ¿por que sucede esto?

Entonces lo primero, descartar que es un problema de SQLite. Pruebo entonces con algo que entienda bien Visual Studio, en este caso una base de datos en SQLServer.

FormMain.cs
Código C#:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Data.SqlClient;
  10.  
  11. namespace SQLServerTools
  12. {
  13.     public partial class FormMain : Form
  14.     {
  15.         SqlConnection conexion = new SqlConnection(@"Data Source=MAINFRAME\SQL2008;Initial Catalog=SOCtaCte;User ID=admin;Password=admin");
  16.  
  17.         public FormMain()
  18.         {
  19.             InitializeComponent();            
  20.         }
  21.  
  22.         private void FormMain_Load(object sender, EventArgs e)
  23.         {
  24.             this.Text = "hola";
  25.             conexion.Open();
  26.             this.Text = "chau";
  27.         }
  28.     }
  29. }

Sucede lo mismo que el caso que plantie desde un principio, al momento de abrir la conexion deja de responder el evento Load del Form. Lo toma como un "return" del metodo. Porque la "conexion" funciona, por ejemplo si lo coloco asi como el siguiente codigo, o en algun otro evento como por ejemplo el click de un boton.

Código C#:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Data.SqlClient;
  10.  
  11. namespace SQLServerTools
  12. {
  13.     public partial class FormMain : Form
  14.     {
  15.         SqlConnection conexion = new SqlConnection(@"Data Source=MAINFRAME\SQL2008;Initial Catalog=SOCtaCte;User ID=admin;Password=admin");
  16.  
  17.         public FormMain()
  18.         {
  19.             InitializeComponent();
  20.             this.Text = "hola";
  21.             conexion.Open();
  22.             this.Text = "chau";
  23.         }
  24.     }
  25. }

Cosa de locos, pero evidentemente me olvide de leer algun capitulo de algo, porque no se que es lo que pasa.
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/

Etiquetas: load, eventos, 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 00:52.