Visual Basic - Ejecutar botón que está en otro formulario

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 35
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ejecutar botón que está en otro formulario

Publicado por CARLOS (18 intervenciones) el 05/05/2018 18:34:56
Hola amigos, tengo un problema: necesito ejecutar un botón que está en otro formulario, para ello he programado otro botón dentro de mi formulario actual de la siguiente manera:

1
2
3
4
5
6
7
8
9
Private Sub Command4_Click()
 
Dim formulario As Form
 
Set formulario = Label3.Caption
 
formulario.Command7.Value = True
 
End Sub

El nombre del otro formulario es igual al texto contenido en el Label3 de mi formulario actual pero no logro conectarlo.. y sí me interesa llamar el otro formulario con el mismo nombre del Label, ese es mi principal problema.

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 109
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ejecutar botón que está en otro formulario

Publicado por Yamil (226 intervenciones) el 05/05/2018 18:53:29
Puedes hacer lo siguiente
1) Extraer el codigo en el click del boton en el formulario y crear un metodo publico con el (Diagamos ExecuteButtonClick)
2) No hay una coleccion de Forms en memoria asi que no podras obtener la instancia requerida asi que puedes hacer

1
2
3
4
5
6
7
8
Dim formulario As Form
 
If Label3.Caption = "Form1" Then
   formulario = new Form1()
End If
...
 
formulario.ExecuteButtonClick()

Otra opcion es crear una interfaz donde definas el metodo a ejecutar para todos los formualrios que tengas, digamos IExecuteCommand
y entonces tu forms deberian ser
Class MyForm inherits WinForm implements IExecuteCommand

y te quedaria el codigo como

1
2
3
4
5
6
7
8
Dim formulario As IExecuteCommand
 
If Label3.Caption = "Form1" Then
   formulario = new Form1()
End If
...
 
formulario.ExecuteButtonClick()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 35
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ejecutar botón que está en otro formulario

Publicado por CARLOS (18 intervenciones) el 05/05/2018 19:29:22
Gracias por responder Amigo, pero en tu codigo no me muestras como ejecutas el command7 o sea el boton que esta en el otro formulario.. además el nombre del otro formulario debo ponerlo definiendolo con el texto que contiene el Label3, es decir, el otro formulario se llama igual a lo que contiene este Label.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 19
Ha aumentado su posición en 2 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ejecutar botón que está en otro formulario

Publicado por Daniel (4 intervenciones) el 05/05/2018 22:54:16
Hola Carlos. Primero decirte que está muy interesante la consulta!!!

Nobleza obliga... Busqué info y encontré este enlace: http://www.forosdelweb.com/f69/ejecutar-evento-objeto-otro-form-348420/.

Lo probé y funcionó a la perfección!!

P.D... El secreto está en transformar el procedimiento del botón del otro form en público... Chequeá el enlace.

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 35
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ejecutar botón que está en otro formulario

Publicado por CARLOS (18 intervenciones) el 05/05/2018 23:32:26
Lo que tu explicas ya lo sé, mi problema es que el nombre del otro formulario está dentro de un label y yo quiero crear una variable con lo que contiene ese Label para identificar el otro formulario...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 147
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ejecutar botón que está en otro formulario

Publicado por Juan Gilberto (323 intervenciones) el 07/05/2018 15:50:12
Tienes que utilizar otra forma de hacerlo ya que no te va a aceptar una variable.objeto, tien que ser nombreforma.objeto

Te sugiero que utilices IF o SELECT CASE

1
2
3
4
5
6
7
8
9
10
Select case ALGO
    Case 1
        Formabc.Botonabc_click
    Case 2
        Formxyz.Botonxyz_click
 
..
..
..
End Select
Obviamente la variable ALGo la vas a cargar en donde estas llamando los clicks, puedes utilizar el contenido del label
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 35
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Ejecutar botón que está en otro formulario

Publicado por CARLOS (18 intervenciones) el 07/05/2018 18:08:29
Efectivamente no me quedó otra opcion que usar el Select Case. Gracias por la respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar