Referenciar Controles

11/09/2005 - 02:33 por Nicolas Ferrazzuolo | Informe spam
Hola, queria hacer una pregunta. Soy programador de VB6 y antes se podia
desde un modulo poder referenciar un control de un formulario sin hacer anda
en particular. Por ejemplo desde un modulo podia:

For i = 0 to Form1.Combo.ListCount - 1
'instrucciones
Next i

Pero en VB.NET intente hacer lo mismo y no puedo. Tuve que instanciar el
formulario nuevamente pero el combo me viene vacio ya que lo cargo en tiempo
de ejecucion con los datos de una DB. Como puedo hacer para ahcer una
referencia a una instancia en particular del formulario en cuestion?
Desde ya gracias por su tiempo. Saludos.

Nicolas

Preguntas similare

Leer las respuestas

#6 Julio Casal
12/09/2005 - 16:43 | Informe spam
Cómo no. Mira, declara una variable del tipo de tu formulario en cualquier
lugar de tu módulo principal ó de tu clase desde la cual mandas a llamar al
formulario. Algo así:

Public Module MiModuloPrincipal
private miForma As ConsultaEmpleadosForma
...
...
...
End Module

Luego, en el método en el que mandas a llamar a tu formulario, te guardas la
referencia en la variable que declaraste arriba. Algo así:

Public Module MiModuloPrincipal
private miForma As ConsultaEmpleadosForma
...
...
private Sub MostrarForma()
miForma = New ConsultaEmpleadosForma()
miForma.Show()
End Sub
End Module

Y listo. Cuando necesites acceder a alguno de los controles del formulario,
solo haz uso de la variable. Por ejemplo:

Public Module MiModuloPrincipal
private miForma As ConsultaEmpleadosForma
...
...
private Sub MostrarForma()
miForma = New ConsultaEmpleadosForma()
miForma.Show()
End Sub

private Sub RecorrerCombo()
For i As Integer = 0 To miForma.Combo.Items.Count - 1
'Tus instrucciones aquí
...
...
Next
End Sub
End Module

Espero haber podido ayudarte.

Saludos.
Julio Casal
.Net Solution Developer
MCAD
Grupo Lebed


"Nicolas Ferrazzuolo" wrote:

Como tendria que hacer para guardar una variable con la referencia?

"Julio Casal" escribió:

> Hola Nicolás, aparte de declarar el control con ámbito "Public", te
> recomiendo que guardes en una variable de módulo la referencia hacia tu
> formulario cuando lo mandes a crear la primera vez. De esa forma, cuando
> desees acceder a alguno de tus controles, solamente utiliza esa variable y
> allí podrás acceder a cualquiera de los controles públicos del formulario sin
> problemas.
>
> Saludos.
>
> Julio Casal
> .Net Solution Developer
> MCAD
> Grupo Lebed
>
>
> "Nicolas Ferrazzuolo" wrote:
>
> > Hola, queria hacer una pregunta. Soy programador de VB6 y antes se podia
> > desde un modulo poder referenciar un control de un formulario sin hacer anda
> > en particular. Por ejemplo desde un modulo podia:
> >
> > For i = 0 to Form1.Combo.ListCount - 1
> > 'instrucciones
> > Next i
> >
> > Pero en VB.NET intente hacer lo mismo y no puedo. Tuve que instanciar el
> > formulario nuevamente pero el combo me viene vacio ya que lo cargo en tiempo
> > de ejecucion con los datos de una DB. Como puedo hacer para ahcer una
> > referencia a una instancia en particular del formulario en cuestion?
> > Desde ya gracias por su tiempo. Saludos.
> >
> > Nicolas
Respuesta Responder a este mensaje
#7 Nicolas Ferrazzuolo
12/09/2005 - 17:12 | Informe spam
Gracias por tu ayuda. Nos vemos!

"Julio Casal" escribió:

Cómo no. Mira, declara una variable del tipo de tu formulario en cualquier
lugar de tu módulo principal ó de tu clase desde la cual mandas a llamar al
formulario. Algo así:

Public Module MiModuloPrincipal
private miForma As ConsultaEmpleadosForma
...
...
...
End Module

Luego, en el método en el que mandas a llamar a tu formulario, te guardas la
referencia en la variable que declaraste arriba. Algo así:

Public Module MiModuloPrincipal
private miForma As ConsultaEmpleadosForma
...
...
private Sub MostrarForma()
miForma = New ConsultaEmpleadosForma()
miForma.Show()
End Sub
End Module

Y listo. Cuando necesites acceder a alguno de los controles del formulario,
solo haz uso de la variable. Por ejemplo:

Public Module MiModuloPrincipal
private miForma As ConsultaEmpleadosForma
...
...
private Sub MostrarForma()
miForma = New ConsultaEmpleadosForma()
miForma.Show()
End Sub

private Sub RecorrerCombo()
For i As Integer = 0 To miForma.Combo.Items.Count - 1
'Tus instrucciones aquí
...
...
Next
End Sub
End Module

Espero haber podido ayudarte.

Saludos.
Julio Casal
.Net Solution Developer
MCAD
Grupo Lebed


"Nicolas Ferrazzuolo" wrote:

> Como tendria que hacer para guardar una variable con la referencia?
>
> "Julio Casal" escribió:
>
> > Hola Nicolás, aparte de declarar el control con ámbito "Public", te
> > recomiendo que guardes en una variable de módulo la referencia hacia tu
> > formulario cuando lo mandes a crear la primera vez. De esa forma, cuando
> > desees acceder a alguno de tus controles, solamente utiliza esa variable y
> > allí podrás acceder a cualquiera de los controles públicos del formulario sin
> > problemas.
> >
> > Saludos.
> >
> > Julio Casal
> > .Net Solution Developer
> > MCAD
> > Grupo Lebed
> >
> >
> > "Nicolas Ferrazzuolo" wrote:
> >
> > > Hola, queria hacer una pregunta. Soy programador de VB6 y antes se podia
> > > desde un modulo poder referenciar un control de un formulario sin hacer anda
> > > en particular. Por ejemplo desde un modulo podia:
> > >
> > > For i = 0 to Form1.Combo.ListCount - 1
> > > 'instrucciones
> > > Next i
> > >
> > > Pero en VB.NET intente hacer lo mismo y no puedo. Tuve que instanciar el
> > > formulario nuevamente pero el combo me viene vacio ya que lo cargo en tiempo
> > > de ejecucion con los datos de una DB. Como puedo hacer para ahcer una
> > > referencia a una instancia en particular del formulario en cuestion?
> > > Desde ya gracias por su tiempo. Saludos.
> > >
> > > Nicolas
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida