Visual Basic.NET - Obtener una colección de paneles de un formulario

 
Vista:

Obtener una colección de paneles de un formulario

Publicado por Julian Mora (8 intervenciones) el 29/06/2007 22:48:38
Tengo un formulario y muchos paneles en él, hay un botón que referencia a cierto panel, de modo que cuando presione ese botón sólo se muestre el panel asignado a él y los demás se queden invisibles pero son muchos y como que estar poniendo en cada botón que panel se verá y cuales no es, poco estético. Así que busco alguna forma de obtener una coleción de los paneles del formulario, intenté con esto:

Public Sub SetVista(ByVal mipanel As String)
Dim p As New Panel

For Each p in Me.Controls
If p.Name.Equals(mipanel) Then
p.Visible = True
Else
p.Visible = False
End If
Next
End Sub

Pero me da el siguiente error: "Additional information: Specified cast is not valid."

Gracias de antemano por la ayuda.
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:Obtener una colección de paneles de un formular

Publicado por Stiv (36 intervenciones) el 30/06/2007 19:56:20
Creo que tendrás que comprobar para cada control si es un panel y actuar en consecuencia. Para hacer esto usa lo siguiente:

Public Sub SetVista(ByVal mipanel As String)

For Each p as Control in Me.Controls
If Typeof(p) is panel Then
If p.name.Equals(mipanel) then
p.Visible = True
Else
p.Visible = False
End If
End If
Next

End Sub
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