Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/06/2011, 12:06
Avatar de KeiDash
KeiDash
 
Fecha de Ingreso: septiembre-2005
Mensajes: 114
Antigüedad: 18 años, 7 meses
Puntos: 0
Problemas con evento en User Control

Hola muy buenas a todos,

Llevo 2 días intentando solventar un problema que me esta volviendo loco, hay algo que se me escapa y no consigo comprender el que. Resulta que cuando voy a pasar los parámetros al evento del User Control, este siempre esta a null.

Estoy realizando un User Control, este simplemente establece con una conexión a una BBDD y crea como resultado final un SQLCommand, que será el comando que se utilizará para toda la aplicación.

Luego, este UC, lo he puesto dentro de un simple formulario, con el fin de que cuando se de al botón OK del UC, se lance un evento para capturar el SQLCommand creado.

El UC esta compuesto de la siguiente manera:

Código:
namespace ucBBDDConections
{
    public partial class ConnectionWizard : UserControl
    {
        #region "Declaraciones"
            //Delegado:
            public delegate void delWizard(SqlCommand comand, EventArgs e);
            public event delWizard GetSQLCommand;

            private SqlCommand _Return = new SqlCommand();

        #endregion

        public ConnectionWizard()
        {
            InitializeComponent();
        }

        private void cmdTest_Click(object sender, EventArgs e)
        {
            .
            .
            //Aqui se crea el Comando

            _Return = myComand;
        }

        private void cmdOK_Click(object sender, EventArgs e)
        {
            if (GetSQLCommand != null)
            {
                GetSQLCommand(_Return,e);
            }
        }
    }
}
Luego, desde el propio formulario que contiene el control, simplemente esto:

Código:
namespace WizardForm
{
    public partial class frmConnection : Form
    {
        protected SqlCommand _Command;
        ConnectionWizard ucWizard = new ConnectionWizard();

        public frmConnection()
        {
            InitializeComponent();
        }

        void ucWizard_GetSQLCommand(SqlCommand comand, EventArgs e)
        {
            //throw new NotImplementedException();
        }
    }
}
el método ucWizard_GetSQLCommand, esta asociado al evento GetSQLCommand del control.

He seguido muchos ejemplos de internet y no encuentro el error y el objeto en este punto siempre esta a null. He hecho eventos en vb.net pero en C# me esta costando un poco :(

Código:
        private void cmdOK_Click(object sender, EventArgs e)
        {
            if (GetSQLCommand != null) // <- SIEMPRE ES NULL
            {
                GetSQLCommand(_Return,e);
            }
        }
¿Alguien me puede ayudar?

Muchas gracias de antemano.