Thanks for your input - I have tried the picturebox and it half works but it puts the buttons beside the picturebox and it needs to be over it so that the picturebox becomes the background for the button. This is needed to allow me to load transparent background images into the button while seeing the buttons colour in the background via the picturebox.
the code i have so far is:
Private Sub TABONEButtons()
Dim buttonlabel
Dim count As Integer
count = Table1BindingSource.Count
Timer1.Stop()
Dim BTN As New Button
buttonlabel = ButtonTextTextBox.Text
Dim pb As New PictureBox
pb.Width = 100
pb.Height = 100
pb.Top = loc_control.X
pb.Left = loc_control.Y
pb.BackColor = Color.Aqua
FlowLayoutPanel1.Controls.Add(pb)
BTN.Name = buttonlabel
BTN.Text = buttonlabel
BTN.Location = New Point(loc_control.X + 10, _
loc_control.Y)
BTN.Height = 100
BTN.Width = 100
BTN.FlatStyle = FlatStyle.Flat
loc_control.Y += BTN.Height + 10
BTN.BackColor = Color.FromName(ButtonColourTextBox.Text)
BTN.ForeColor = Color.White
BTN.TextAlign = ContentAlignment.BottomCenter
BTN.Image = PhotoPictureBox.Image
AddHandler BTN.Click, AddressOf myButtonHandler_Click
FlowLayoutPanel1.Controls.Add(BTN)
inc_control = inc_control + 1
Table1BindingSource.MoveNext()
If inc_control < count Then TABONEButtons()
End Sub