Vento divino
04-07-2006, 15:58
Mi scuso se il problema vi potrà sembrare demenziale, ma del VB purtroppo io non ci capisco niente :cry:
Il problema è il seguente: devo creare 10 x 10 picturebox e successivamente accedere e modificare delle proprietà di una (rnd) di queste picturebox.
Avevo pensato che la soluzione più naturale fosse una matrice 10x10, ma evidentemente c'è qualcosa che non mi entra in testa:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim i As Integer = 10
Dim pic(i) As PictureBox
Dim x, y As Integer
x = 5
y = 5
Dim prova As New PictureBox
prova.Size = New System.Drawing.Point(20, 20)
prova.BackColor = Color.Green
prova.Location = New System.Drawing.Point(5, 5)
Me.Controls.Add(prova)
For i = 0 To 10
'pic(i).Location = New System.Drawing.Point(5, 5)
pic(i).BackColor = Color.Green
pic(i).Size = New System.Drawing.Point(10, 7)
pic(i).Location = New System.Drawing.Point(x, y)
x = i + 12
'y = i + 12
Me.Controls.Add(pic(i))
Next
Tralasciando per un attimo il 10x10, perchè la PictureBox "prova" non dà problemi, mentre la "pic(i)" mi dà come errore: Object reference not set to an instance of an object.
ogni volta che scrivo una proprietà?
Grazie in anticipo a chiunque mi risponderà :)
Il problema è il seguente: devo creare 10 x 10 picturebox e successivamente accedere e modificare delle proprietà di una (rnd) di queste picturebox.
Avevo pensato che la soluzione più naturale fosse una matrice 10x10, ma evidentemente c'è qualcosa che non mi entra in testa:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim i As Integer = 10
Dim pic(i) As PictureBox
Dim x, y As Integer
x = 5
y = 5
Dim prova As New PictureBox
prova.Size = New System.Drawing.Point(20, 20)
prova.BackColor = Color.Green
prova.Location = New System.Drawing.Point(5, 5)
Me.Controls.Add(prova)
For i = 0 To 10
'pic(i).Location = New System.Drawing.Point(5, 5)
pic(i).BackColor = Color.Green
pic(i).Size = New System.Drawing.Point(10, 7)
pic(i).Location = New System.Drawing.Point(x, y)
x = i + 12
'y = i + 12
Me.Controls.Add(pic(i))
Next
Tralasciando per un attimo il 10x10, perchè la PictureBox "prova" non dà problemi, mentre la "pic(i)" mi dà come errore: Object reference not set to an instance of an object.
ogni volta che scrivo una proprietà?
Grazie in anticipo a chiunque mi risponderà :)