You're right when you say you will need a structure. A class would work as well, but a structure would probably be better for something small like this.
When you build a structure, you need to incorporate whatever information each instance of that stucture will need. So a individual bullet will obviously need a pictureBox (or whatever control you're using to display your bullets), as well as a position and a speed. More advanced structures could also have a damage value, a size value, or whatever else you want.
Since your pictureBox already has an X,Y Location, you won't need to define that. But you will need to define an xSpeed and ySpeed value.
First of all, create your structure:
vb Code:
Public Structure Bullet
End Structure
Now initialise the variables you'll need for each bullet:
vb Code:
Dim pictureBox As PictureBox
Dim xSpeed As Double
Dim ySpeed As Double
Now add an Update method. You can call this for each Bullet every time the game updates:
vb Code:
Sub UpdateBullet()
'Move the Bullet
picBox.Location() = New Point(picBox.Location.X + xSpeed, picBox.Location.Y + ySpeed)
'Add your collision checking code here
End Sub
You'll also need a bullet List to keep track of the bullets... something like this:
vb Code:
Dim bulletList As List(Of Bullet)
To use the structure now, simply create a bullet, add it to a bullet list and set it's variables:
vb Code:
Dim x As Bullet
x.picBox.Image = myImage 'Preload an image with Dim imageName As Image, then use it
x.xSpeed = 0 'Determine your xSpeed
x.ySpeed = 0 'Determine your ySpeed
bulletList.Add(x)
Finally, update all the bullets in your timer_tick method:
vb Code:
Dim y As Bullet
For Each y In bulletList
y.UpdateBullet()
Next
Hope this helps! :D
Cheers,
Qu.