La aplicación es Windows Forms, verdad?

Podrías entonces, hacer dos For Each anidados, buscando en los controles del
formulario hasta tener al contenedor por su nombre (así como hacés con los
controles) y luego recién recorrer los controles.

 

Cristian

 

   _____  

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de
[EMAIL PROTECTED]
Enviado el: Viernes, 14 de Marzo de 2008 14:25
Para: [email protected]
Asunto: [puntonet] For Each sobre controles

 

Hola Grupo

 

Los molesto con la siguiente inquietud

 

Tengo una tabla en SQL en donde almaceno los permisos y habilitaciones a una
aplicación en Visual Basic .NET.

 

La cuestion es la siguiente: estoy tratando de recorrer los controles que
tiene la aplicación (button, checkbox, tab, etc) y los pongo ENABLED True o
False dependiendo del valor que tengo en el registro de la tabla.

 

Muy bien, si hago la referencia al Contenedero de manera explicita el tema
funciona perfectamente, pero si el nombre del contenedor lo mando en una
variable ya no funciona. Les paso el ejemplo de manera resumida

 

'ESTO FUNCIONA OK

 

PRIVATE SUB PERMISOS()

....

....

    VERIFICOPERMISO(NombreControl, bPermiso)

......

.......

END SUB

 

PRIVATE SUB VERIFICOPERMISO(BYVAL cCONTROL AS STRING, BYVAL bVALOR AS
BOOLEAN)

DIM oCONTROL AS CONTROL

 

FOR EACH oCONTROL IN TABCONTROL1.CONTROLS    ''''TABCONTROL1 ES EL NOMBRE
DEL CONTENEDOR 

        IF oCONTROL.NAME = cCONTROL

             oCONTROL.ENABLED = bVALOR

        ENDIF

NEXT

END SUB

 

Bueno, esto así funciona ok, el tema es que yo quiero mandar el nombre del
contenedor en una variable, ya que lo tengo en un campo de la tabla, pero
eso ya no me funciona más. Les paso lo que uso

 

'ESTO NO FUNCIONA

 

PRIVATE SUB PERMISOS()

....

....

    VERIFICOPERMISO(NombreContenedor,NombreControl, bPermiso)

......

.......

END SUB

 

PRIVATE SUB VERIFICOPERMISO(BYVAL cCONTENEDOR AS STRING, BYVAL cCONTROL AS
STRING, BYVAL bVALOR AS BOOLEAN)

DIM oCONTROL AS CONTROL

DIM oCONTENEDOR AS CONTROL

oCONTENEDOR.NAME = cCONTENEDOR

FOR EACH oCONTROL IN oCONTENEDOR.CONTROLS    ''''NUNCA ENTRA A ESTE BUCLE 

        IF oCONTROL.NAME = cCONTROL

             oCONTROL.ENABLED = bVALOR

        ENDIF

NEXT

END SUB

 

Desde ya muchas gracias por la ayuda que puedan darme

 


______________________________________________________________________

HYPERLINK "http://www.vxv.com"VxV - Tu espacio para publicar y compartir
videos en tu idioma


No virus found in this incoming message.
Checked by AVG.
Version: 7.5.519 / Virus Database: 269.21.7/1328 - Release Date: 13/03/2008
11:31



No virus found in this outgoing message.
Checked by AVG. 
Version: 7.5.519 / Virus Database: 269.21.7/1329 - Release Date: 14/03/2008
12:33
 
  

<<image001.gif>>

Responder a