Creación de una colección de PictureBox
Resuelto
Orbital38
Mensajes publicados
71
Fecha de registro
Estado
Miembro
Última intervención
-
Orbital38 Mensajes publicados 71 Fecha de registro Estado Miembro Última intervención -
Orbital38 Mensajes publicados 71 Fecha de registro Estado Miembro Última intervención -
Bonjour,
Quiero saber cómo crear una colección de PictureBox.
En realidad, estoy buscando recuperar el primer elemento de mi colección (una PictureBox, por lo tanto) con el objetivo de cambiar su imagen. Sin embargo, tengo un error de enlace tardío ya que una colección clásica es de tipo Object.
Actualmente, hago esto:
Creo mis PictureBox y cada vez hago:
Más adelante en el código, quiero inicializar una imagen (la primera de mi colección). Estoy resolviendo pasar por la propiedad Name para hacer un truco:
Pero encuentro que es feo y me gustaría poder hacer algo así:
Sin embargo, aquí Visual Studio me da una colección de Object con Collect_menu. Me gustaría saber si se puede definir un tipo para una colección y cuál es la sintaxis para hacerlo.
O si hay algo más para una colección de PictureBox, como ImageList para una colección de imágenes.
¡Gracias! =)
Configuración: Windows / Firefox 40.0
Quiero saber cómo crear una colección de PictureBox.
En realidad, estoy buscando recuperar el primer elemento de mi colección (una PictureBox, por lo tanto) con el objetivo de cambiar su imagen. Sin embargo, tengo un error de enlace tardío ya que una colección clásica es de tipo Object.
Actualmente, hago esto:
Public Collect As Collection Public Pic_ppl As Classe1
Collect = New Collection
Creo mis PictureBox y cada vez hago:
Pic_ppl = New Classe1 Pic_ppl.btn = PictureBoxCs Collect.Add(Pic_ppl.btn)
Más adelante en el código, quiero inicializar una imagen (la primera de mi colección). Estoy resolviendo pasar por la propiedad Name para hacer un truco:
For Each Ctrl As System.Windows.Forms.PictureBox In Collect_menu.OfType(Of PictureBox).Where(Function(picBox) picBox.Name = "Pic1") Ctrl.Image = Outils.ImageList1.Images.Item(0) Next Ctrl
Pero encuentro que es feo y me gustaría poder hacer algo así:
Collect.Item(1).Image = ImageList1.Images.Item(0)
Sin embargo, aquí Visual Studio me da una colección de Object con Collect_menu. Me gustaría saber si se puede definir un tipo para una colección y cuál es la sintaxis para hacerlo.
O si hay algo más para una colección de PictureBox, como ImageList para una colección de imágenes.
¡Gracias! =)
Configuración: Windows / Firefox 40.0
1 respuesta
Utiliza una lista genérica en su lugar:
List(of PictureBox)
O si prefieres usar una colección:
DirectCast(MaCol(5),PictureBox)
--
Intervengo principalmente en VB6 y VB.NET, con un poco de C#, pero la moderación me lleva a menudo a otros lenguajes.
En VB.NET recuerda activar "Option Explicit" y "Option Strict".
List(of PictureBox)
O si prefieres usar una colección:
DirectCast(MaCol(5),PictureBox)
--
Intervengo principalmente en VB6 y VB.NET, con un poco de C#, pero la moderación me lleva a menudo a otros lenguajes.
En VB.NET recuerda activar "Option Explicit" y "Option Strict".
Bueno, perdón por crear temas por nada al final. :/
Solo por mi cultura, ¿cuál es la diferencia entre una colección y una lista? ¿Es la indexación por clave? ¿O la colección ofrece algo más?
Gracias de todas formas. ^^
La "colección" del framework es una declaración simplificada (no exacta, pero esa es la idea) List(Of Object)
De lo contrario, en el espacio de nombres Collection.Generic, también tienes diccionarios, listas ordenadas, pilas, colas, ...
Así que las colecciones son más generales para no estar limitadas y tienen un montón de métodos asociados. Es el tipo de cosa en la que si no sabes nada como yo, te pierdes. ¡Roger!
Gracias de todos modos. ¡Mi Form está tomando forma!