"Array" of pictureboxes

  • Thread starter Thread starter Jerry Spence1
  • Start date Start date
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
 
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
 
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
 
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
 
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
 
Back
Top