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

#1 Pedro Rivera
11/09/2005 - 04:17 | Informe spam
¿Ya probaste declarar el control como "public"?







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
#2 Nicolas Ferrazzuolo
11/09/2005 - 05:34 | Informe spam
Si, ya probe. El problema es que para referenciarlo tengo que crear una nueva
instacia del formulario. No se como tengo que hacer para usar la instancia
que ya tengo cargada.

"Pedro Rivera" escribió:

¿Ya probaste declarar el control como "public"?







>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
#3 Eduardo A. Morcillo [MS MVP VB]
11/09/2005 - 06:38 | Informe spam
Nicolas Ferrazzuolo wrote:
Si, ya probe. El problema es que para referenciarlo tengo que crear
una nueva instacia del formulario. No se como tengo que hacer para
usar la instancia que ya tengo cargada.



Si creas una nueva instancia no estaras trabajando sobre el formulario que
ya tienes cargado. Como lo solucionas depende de tu aplicacion. Si el
formulario solo debe instanciarse una sola vez en toda la aplicacion
entonces lo mas recomendable es que sigas el patrin Singleton. Puedes buscar
ejemplos en los mensajes viegos de este mismo grupo. Si no es el caso puedes
pasarle una referencia al formulario en los parametros.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#4 Julio Casal
11/09/2005 - 16:59 | Informe spam
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
#5 Nicolas Ferrazzuolo
12/09/2005 - 14:15 | Informe spam
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
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida