"Array" of pictureboxes

J

Jerry Spence1

I'm going mad here. I know about creating controls at runtime and creating a
single event etc. In all the examples I have found they create a button and
create an event for it. What I can't fathom out is how to refer to a
non-event control such as a picturebox. I have created them as follows:

For n As Integer = 1 To 10

Dim c As New PictureBox

With c

.Location() = New System.Drawing.Point(35, 30)

.Size = New System.Drawing.Size(225, 175)

.Name = "PictureBox" & Trim(Str(n))

End With

Me.Controls.Add(c)

Next

However, how do I now refer to it?

PictureBox8.Image = System.Drawing.Image.FromFile(MyPath & Filename)

-Jerry
 
P

Peter Proost

You would need something like this

Private myPicBoxes as PictureBox (9)
For n As Integer = 1 To 10

Dim c As New PictureBox

With c

.Location() = New System.Drawing.Point(35, 30)

.Size = New System.Drawing.Size(225, 175)

.Name = "PictureBox" & Trim(Str(n))

End With

Me.Controls.Add(c)

myPicBoxes(n) = c

myPicBoxes(8).Image = System.Drawing.Image.FromFile(MyPath & Filename)


Hope this helps
 
C

Cor Ligthert [MVP]

Jerry,

Just put them in an array inside your procedure.
See bellow (I changed it too from 0 to 9 a little bit more standard approach
in Net.)

Private c(9) as picturebox
(I assume that you are using it in more procedures otherwise just dim inside
the procedure)

For n As Integer = 0 To 9
Dim c(n) = New PictureBox
With c(n)
.Location() = New System.Drawing.Point(35, 30)
.Size = New System.Drawing.Size(225, 175)
.Name = "PictureBox" & Trim(Str(n))
End With
Me.Controls.Add(c(n))
Next

c(7).Image = System.Drawing.Image.FromFile(MyPath & Filename)

Simple is it not?

I would use another name than c by the way.

:)

I hope this helps,

Cor
 
G

gene kelley

I'm going mad here. I know about creating controls at runtime and creating a
single event etc. In all the examples I have found they create a button and
create an event for it. What I can't fathom out is how to refer to a
non-event control such as a picturebox. I have created them as follows:

For n As Integer = 1 To 10

Dim c As New PictureBox

With c

.Location() = New System.Drawing.Point(35, 30)

.Size = New System.Drawing.Size(225, 175)

.Name = "PictureBox" & Trim(Str(n))

End With

Me.Controls.Add(c)

Next

However, how do I now refer to it?

PictureBox8.Image = System.Drawing.Image.FromFile(MyPath & Filename)

-Jerry

Aside from the other responses, why do you say the PictureBox is a
non-event control? It has a number of events.

Gene
 
J

Jerry Spence1

gene kelley said:
Aside from the other responses, why do you say the PictureBox is a
non-event control? It has a number of events.

Gene

I mean it's a control that is the recipient of information rather than
getting anythng from it such as a click etc.

-Jerry
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top