Home All Groups Group Topic Archive Search About

"Array" of pictureboxes

Author
19 Jun 2006 11:44 AM
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

Author
19 Jun 2006 11:54 AM
Peter Proost
You would need something like this

Private myPicBoxes as PictureBox (9)

Show quoteHide quote
> 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

>
> Next

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


Hope this helps

--
Programming today is a race between software engineers striving to build
bigger and better idiot-proof programs, and the Universe trying to produce
bigger and better idiots. So far, the Universe is winning. (Rich Cook)

Show quoteHide quote
"Jerry Spence1" <jerry.spe***@somewhere.com> schreef in bericht
news:44968e2b$0$3526$ed2619ec@ptn-nntp-reader01.plus.net...
> 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
>
>
Author
19 Jun 2006 11:59 AM
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
Author
19 Jun 2006 1:20 PM
Jerry Spence1
Thank you Cor and Peter. Very grateful.

Simple? Yea - it is now :)

-Jerry


Show quoteHide quote
"Cor Ligthert [MVP]" <notmyfirstn***@planet.nl> wrote in message
news:%23p5QHe5kGHA.2280@TK2MSFTNGP02.phx.gbl...
> 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
>
Author
19 Jun 2006 1:21 PM
Jerry Spence1
Thank you Cor and Peter. Very grateful.

Simple? Yea - it is now :)

-Jerry


Show quoteHide quote
"Cor Ligthert [MVP]" <notmyfirstn***@planet.nl> wrote in message
news:%23p5QHe5kGHA.2280@TK2MSFTNGP02.phx.gbl...
> 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
>
Author
19 Jun 2006 7:48 PM
gene kelley
On Mon, 19 Jun 2006 12:44:42 +0100, "Jerry Spence1"
<jerry.spe***@somewhere.com> wrote:

Show quoteHide quote
>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
Author
19 Jun 2006 8:38 PM
Jerry Spence1
Show quote Hide quote
"gene kelley" <o***@by.me> wrote in message
news:rfvd92tvcsqudgulcb6pqlqdsqqi855li2@4ax.com...
> On Mon, 19 Jun 2006 12:44:42 +0100, "Jerry Spence1"
> <jerry.spe***@somewhere.com> wrote:
>
>>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
>

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

-Jerry