border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 09-06-2008, 11:39:54
Un Nuevo Amigo
 
Registrado: jun 2008
Posts: 2
snowlis Aun no valorado
Predeterminado Como controlar eventos controles desde otra clase

Estoy creando una aplicación que es una agenda, para dar de alta clientes en una bd, poder moverte entre registros y tal.
el problema que tengo es que me piden que lo haga en 2 clases diferentes, una que será el diseño de la aplicación y la otra que será donde se gestione el acceso a la base de datos y el comportamiento de los botones, etc.

La clase agenda es la principal, en la que se encuentran todos los controles del formulario.

Código:
Public Class Agenda

    Private Sub Agenda_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        bdagenda.cargabd()
    End Sub
End Class
En la clase bdagenda tengo varios procedimientos, una para cargar la base de datos, otro para mostrar los datos de los registros en textbox y otro que me dice en que registro estoy posicionado.

El problema viene cuando quiero gestionar el evento click de 4 botones que tengo para navegar entre registros(primero,ultimo,atras,siguiente) en la clase bdagenda que no es la principal.

Intento capturar el evento click de estos botones de la siguiente manera:

Código:
Public Class bdagenda
   Private Sub moverregistros(ByVal sender As System.Object, ByVal e As EventArgs) Handles Agenda.Siguiente.Click,Agenda.atras.Click,Agenda.primero.Click,Agenda.ultimo.Click
        MessageBox.Show("Hola")
        If sender Is Agenda.Primero Then
            enlace.Position = 0
        ElseIf sender Is Agenda.Siguiente Then
            MessageBox.Show("Hola")
            enlace.Position += 1
        ElseIf sender Is Agenda.atras Then
            enlace.Position -= 1
        ElseIf sender Is Agenda.Ultimo Then
            enlace.Position = enlace.Count - 1
        End If
        contador()
    End Sub
end class
Al intentar hacerlo así me da el siguiente error:
La cláusula Handles requiere una variable WithEvents definida en el tipo contenedor o en uno de sus tipos base.

Perdón por todo este coñazo. En definitiva, yo lo único que quiero saber es como poder controlar los eventos de los controles desde otra clase que no sea la principal del formulario.
Responder Con Cita
  #2 (permalink)  
Antiguo 10-06-2008, 11:00:17
Gran Participación en el Foro
 
Registrado: oct 2003
Posts: 435
MiguelS Valoración +2
Predeterminado Re: Como controlar eventos controles desde otra clase

La manera considerada correcta es hacer un metodo que hace el trabajo en la clase bd y el evento en la clase grafica llama a dicho metodo.
Como programador de VB , yo tampoco estoy convencido de la importancia de separar el Interfaz grafico del resto del codigo.
Responder Con Cita
  #3 (permalink)  
Antiguo 10-06-2008, 19:50:21
Avatar de jrios03
Moderador
 
Registrado: ene 2005
Ubicación: Curico
Posts: 782
jrios03 Valoración +2
Contactar con jrios03 a través de MSN
Talking Re: Como controlar eventos controles desde otra clase

Hola... lo que quieres hacer no tiene mucho de complicado, basta con crear una Clase dentro del proyecto en el cual manejes todos los Eventos... y luego agregarles los Manejadores de Eventos (Handlers) a los Componentes que lo requieran...

Te envío un pequeño y sencillo ejemplo de como puedes hacerlo...

Saludos...
Archivos Adjuntos
Tipo de Archivo: rar Ejemplillo.rar (27,1 KB, 6 visitas)
__________________
Atentamente, Juan Ríos Pizarro...
Saludos desde Chile...

PD: Perdí mi mascota... buaaaaaaaa.... al menos encontré una nueva
Responder Con Cita
  #4 (permalink)  
Antiguo 11-06-2008, 08:22:46
Un Nuevo Amigo
 
Registrado: jun 2008
Posts: 2
snowlis Aun no valorado
Predeterminado Re: Como controlar eventos controles desde otra clase

Gracias, me ha servido de mucha ayuda el ejemplo .
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



La franja horaria es GMT. Ahora son las 10:45:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right