none
eventos user control RRS feed

  • Pregunta

  • hola, estoy haciendo un winform, en el cual tengo un user control y un combobox (y otros que no vienen al caso).

    el user control lo que hace es buscar datos en una base (clientes) para que pueda elegir uno.

    el combobox me muestras las ordenes de compra.

    lo que necesito hacer es que cuando elijo el cliente (usercontrol) y pase el foco al combo, este (combobox) me muestre las ordenes de compra asociadas a ese cliente en la base de datos.

    el codigo para eso ya lo tengo, lo que necesito saber es que evento del user control puedo usar, ya que probe con lost focus y no me da resultado.

    muchas gracias.

    miércoles, 23 de febrero de 2011 15:11

Respuestas

  • hola

    pero tienes un user control solo con un textbox ?

    o el combo tambien esta dentro de ese user control ?

     

    si esta fuera podrias ahcer que el user control tenga una propiedad Text que devuelva el contenido del textbox, ademas podrias devolver un evento que se lance en el lostfocus del textbox que esta dentro del user control para que desde el form armes la query que carga el combo

    preguntas

    - sabes crear propiedades en el user control ?

    - sabes crear los eventos ?

     

     

    Definir una propiedad en los controles de formularios Windows Forms

    Propiedades de los controles de formularios Windows Forms

    Defining an Event in Windows Forms Controls

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 23 de febrero de 2011 15:20
  • Puedes crear tu propiedad Text de tu Usercontrol Así

     

      public override string Text 
      {
       get { return textBox1.Text; }
       set { textBox1.Text = value; }
      }
    

     

    y puedes crear un evento de esta manera. 

     

    //se Crean eventos del control de usuario
    public delegate void ValidTextBoxHandler();
    [Category("Evento")]
    [Description("Ocurre cuando se valida el Texto")]
    public event ValidTextBoxHandler ValidTextBox; //Validar el Contenido del TextBox
    //Validar el Evento click del boton de busqueda.
    protected virtual void OnValidTextBox()
    { 
      if (ValidTextBox != null)
       ValidTextBox();
    }
     
    

    El Evento lo disparas de esta manera:

    private void textBox1_Validated(object sender, EventArgs e)
    {
        OnValidTextBox();
    }

    Bueno en el TextBox1_Validated puedes hacer varias cosas antes de disparar el evento, o despues :). 

     

    En este caso tu evento se llamará ValidTextBox.

    En el Forms, solo tendrías que programar lo que necesitas hacer, obitenes el Text del "TExtbox" desde la propiedad Text del control, en el Evento ValidTextBox. 

     

    Espero te ayude. 

    Saludos.


    Jackson Rosado Developer c#, VFP, PL/SQL DBA - Oracle 10g
    miércoles, 23 de febrero de 2011 15:55

Todas las respuestas

  • hola

    pero tienes un user control solo con un textbox ?

    o el combo tambien esta dentro de ese user control ?

     

    si esta fuera podrias ahcer que el user control tenga una propiedad Text que devuelva el contenido del textbox, ademas podrias devolver un evento que se lance en el lostfocus del textbox que esta dentro del user control para que desde el form armes la query que carga el combo

    preguntas

    - sabes crear propiedades en el user control ?

    - sabes crear los eventos ?

     

     

    Definir una propiedad en los controles de formularios Windows Forms

    Propiedades de los controles de formularios Windows Forms

    Defining an Event in Windows Forms Controls

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 23 de febrero de 2011 15:20
  • el user control es solo un textbox, el combo esta afuera

    tengo una propiedad text dentro del user, pero es algo que no hice yo, me lo pasaron hecho.

    no se como crear una propiedad o un evento para user control

    miércoles, 23 de febrero de 2011 15:28
  • Puedes crear tu propiedad Text de tu Usercontrol Así

     

      public override string Text 
      {
       get { return textBox1.Text; }
       set { textBox1.Text = value; }
      }
    

     

    y puedes crear un evento de esta manera. 

     

    //se Crean eventos del control de usuario
    public delegate void ValidTextBoxHandler();
    [Category("Evento")]
    [Description("Ocurre cuando se valida el Texto")]
    public event ValidTextBoxHandler ValidTextBox; //Validar el Contenido del TextBox
    //Validar el Evento click del boton de busqueda.
    protected virtual void OnValidTextBox()
    { 
      if (ValidTextBox != null)
       ValidTextBox();
    }
     
    

    El Evento lo disparas de esta manera:

    private void textBox1_Validated(object sender, EventArgs e)
    {
        OnValidTextBox();
    }

    Bueno en el TextBox1_Validated puedes hacer varias cosas antes de disparar el evento, o despues :). 

     

    En este caso tu evento se llamará ValidTextBox.

    En el Forms, solo tendrías que programar lo que necesitas hacer, obitenes el Text del "TExtbox" desde la propiedad Text del control, en el Evento ValidTextBox. 

     

    Espero te ayude. 

    Saludos.


    Jackson Rosado Developer c#, VFP, PL/SQL DBA - Oracle 10g
    miércoles, 23 de febrero de 2011 15:55