Visual Basic.NET - Recorrer los elementos de un groupbox

 
Vista:

Recorrer los elementos de un groupbox

Publicado por Nacho (1 intervención) el 06/02/2006 12:48:32
Hola foreros,

tengo un problema que no se como solucionar. Vereis, tengo un formulario i dentro de este 1 groupbox. Dentro del groupBox tengo diferentes labels que quiero cambiarles el texto. Quiero hacer un recorrido por todos los controles i cambiar el texto en caso de que sea un label, pero cuando hace el recorrido, solo mira los groupbox.

Hacia algo asi:

Dim obj As Object

For Each obj In Controls

If TypeOf obj Is Label Then

'cambiar texto

End If

Next

El problema que solo me recorre el groupBox. Asi que prové lo siguiente:


For Each obj In Controls

If TypeOf obj Is GroupBox Then

Dim obj2 As Object

For Each obj2 In obj

If TypeOf obj2 Is Label Then

'cambiar texto

End If

Next

End If

Next

Pero me da la execepcion:

No se puede convertir un objeto de tipo 'System.Windows.Forms.GroupBox' al tipo 'System.Collections.IEnumerable'.

Alguien sabe como solucionar el problema?

Gracias por adelantado
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

RE:Recorrer los elementos de un groupbox

Publicado por William Wizer (1 intervención) el 29/03/2006 10:15:35
Lo primero es que te recomendaria no usar el tipo Object a menos que sea completa y totalmente imprescindible.

si no recuerdo mal todos los controles heredan de una misma clase asi que el uso del tipo object es cuanto menos innecesario y una hermosa fuente de errores.

otro detalle es que en vez de:

Dim obj As Object

For Each obj In Controls

If TypeOf obj Is Label Then

'cambiar texto

End If

Next

seria mucho mejor usar (al margen de cambiar el tipo para no usar Object)

For Each obj as Object In Controls

If TypeOf obj Is Label Then

'cambiar texto

End If

Next
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