Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como controlar eventos controles desde otra clase

Estas en el tema de Como controlar eventos controles desde otra clase en el foro de Visual Basic clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 09/06/2008, 09:12
 
Fecha de Ingreso: agosto-2007
Mensajes: 9
Antigüedad: 16 años, 8 meses
Puntos: 0
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.
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 12:20.