ADICIONAR UM ARRAY DE CONTROLE NO FORM EM RUNTIME

CLAUDIOLUCROCHA 31/08/2012 14:13:07
#409021
Etou precisando criar um array de imagem e adicionar depois esses controles no form. Estou usando o codigo abaixo

Dim PicImagemRoleta(10) As System.Windows.Forms.PictureBox [ô] Cria Array de imagem
Dim fs As System.IO.FileStream [ô] Abre a imagem

fs = New System.IO.FileStream(My.Application.Info.DirectoryPath & [Ô]\Imagem\conectando.gif[Ô], IO.FileMode.Open, IO.FileAccess.Read) [ô] Le a imagem
PicImagemRoleta(0).Image = System.Drawing.Image.FromStream(fs)[ô] Coloca a imagem no array <-------------------- ERROR ---------------------------
fs.Close()

Me.Controls.Add(PicImagemRoleta(0)) [ô] Adiciona o controle da imagem no form

O problema é que quando chega na linha de colocar a imagem no array ele da um erro de [Ô]Referência de objeto não definida para uma instância de um objeto.[Ô]Se eu colocar no lugar do array um controle de imagem ja existente no form ele funciona

Algum pode dar uma luz.

Obrigado
OCELOT 31/08/2012 18:24:13
#409032
Resposta escolhida
Isso é porque você não instanciou o controle. só declarou um array.

Não vejo muito o porque de você precisar de um array ai também, no caso você está carregando apenas uma imagem

[ô]Cria um picturebox
Dim PicImagemRoleta As New System.Windows.Forms.PictureBox
[ô]Abre a imagem
Dim fs As New System.IO.FileStream(My.Application.Info.DirectoryPath & [Ô]\Imagem\conectando.gif[Ô], IO.FileMode.Open, IO.FileAccess.Read)
[ô]Le a imagem e a coloca no picturebox
PicImagemRoleta.Image = System.Drawing.Image.FromStream(fs)
fs.Close()
[ô]Adiciona o controle da imagem no form
Me.Controls.Add(PicImagemRoleta)
Tópico encerrado , respostas não são mais permitidas