error WithEvents |
Responder |
Autor | |
VayaCaló
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Habitual Unido: 16/Septiembre/2008 Localización: España Estado: Sin conexión Puntos: 147 |
Opciones de entrada
Gracias(0)
Enviado: 20/Mayo/2022 a las 11:54 |
Saludos,
He creado un Modulo de clase para obtener los eventos de una serie de textbox de un subformulario "FormularioSub" o sea: FormularioPrincipal.Sec1.SourceObject = "FormularioSub" donde Sec1 es la denominación del control que contiene el FormularioSub En el modulo del subformulario "FormularioSub" declaro: Private m_oCollectionOfEventHandlers As Collection y al evento Form_Load() ejecuto: Set m_oCollectionOfEventHandlers = New Collection Dim oControl As Control For Each oControl In Me.Controls If TypeName(oControl) = "TextBox" Then Dim oEventHandler As TextboxEventHandler Set oEventHandler = New TextboxEventHandler Set oEventHandler.iTextbox = oControl m_oCollectionOfEventHandlers.Add oEventHandler End If Next oControl que recorre cada uno de los textbox del subformulario agregandolos a la colección del modulo de clase para que se dispare el evento general GotFocus() de cada uno de los textbox. Hasta aquí todo funciona muy bién. Por necesidad del funcionamiento he de modificar el subformulario "FormularioSub" en tiempo de ejecución y para ello uso la siguiente estructura de trabajo: - Creo un formulario, sus controles, modulo y nuevo RecordSource por programación, que denomino "FormularioSub1" - Modifico por programación el sourceobject del formulario principal de: formularioPrincipal.Sec1.SourceObject = "FormularioSub" a formularioPrincipal.Sec1.SourceObject = "FormularioSub1" y aunque al cambiar de uno a otro ejecuta el evento Form_Load del nuevo "FormularioSub1" sin embargo no ejecuta los eventos gotFocus() de los textbox. Aclaro que cuando cambio de uno a otro descargo la colección : Private Sub Form_Unload(Cancel As Integer) Set m_oCollectionOfEventHandlers = Nothing End Sub ¿ Alguna idea sobre porque no ejecuta el código la segunda vez? NOTA: Para verificar he creado un boton de comando provisional en el formularioPrincipal que al pulsar efectua una llamada a: Form_FormularioSub1.Form_Load, y efectivamente ahora funciona. Pero claro no es asi como quiero que funcione, ya que dejo en manos del operador que pulse el botón de comando y deberia de ser ejecutado automaticamente al cambiar de un subformulario a otro. Editado por VayaCaló - 20/Mayo/2022 a las 12:25 |
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |