Visual Basic.NET - Pasar formulario como parametro ByRef

   
Vista:

Pasar formulario como parametro ByRef

Publicado por larj (3 intervenciones) el 25/11/2011 05:52:41
Hola amigos... les comento que esto complicado con lo que quiero hacer, lo que necesito es pasar com parametro un control de un formulario en un procedimiento de rutina por ejemplo lo que tengo y no funciona es:

Código:

Modulo:
Public Formulario AS Form 'Declaro la variable Formulario como un FORM


Public Sub Rellenar_label (ByRef Formulario AS Form) 'Creo una Subrutina
Formulario.label1.text = "Algo"
end sub


'Puede ser cualquier formulario que tenga un control label1
FormX: 'Cualquier formulario.

Formulario = Me
Call Rellenar_label(Formulario)

Pero me da error, me dice que el (label1 no es un miembro de "System.Windows.FORMS.FORM")

Y en el formulario Formx si tengo un label1

Que puede ser????
Editar/Borrar Mensaje
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

Pasar formulario como parametro ByRef

Publicado por Joan B. Fàbregas (129 intervenciones) el 25/11/2011 11:39:04
Hola,
El problema es que los controles Label1 no están el objeto Form sino en el Objeto FormX, i aunque le pases el objeto FormX como parámetro lo estas pasando como un objeto de tipo Form y este no tiene un "Label1" al que se pueda acceder directamente.

Para hacer esto se tiene que hacer mediante la colección de controles del form (que esta sí que la tiene el objeto base Form) de la forma:

1
2
3
4
5
6
7
8
9
10
Private Sub RellenarLabel(formularioDestino As Form, nombreLabel As String, textoRelleno As String)
 
        Dim controlLabel As Label
 
        If formularioDestino.Controls.ContainsKey(nombreLabel) Then
            controlLabel = formularioDestino.Controls(nombreLabel)
            controlLabel.Text = textoRelleno
        End If
 
    End Sub


Llamandola mediante:
1
Call RellenarLabel(Me,"Label1","Algo")


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

Pasar formulario como parametro ByRef

Publicado por ramon ramon_raudales@live.com (1 intervención) el 10/10/2016 20:26:51
Hola. disculpa te queria pedir ayuda yo quiero hacer algo similar solo que quiero bloquear botones en diferentes formularios, todos los botones tienen el mismo nombre en los diferentes fomularios.
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