Puoi modificare a rintime le immagini dentro ai bottoni, basta accedere alla proprieta' backgroundimage, e riempirla con un'oggetto bitmap eco come:
Bitmap immagine = new Bitmap( "La tua immagine");
button1.backgroundimage = immagine;
ricorda che se non specifichi un path , l'immagine dovra' essere nella stessa cartella del exe del programma
per opacita' basta che usi questo attributo:
button1.BackColor = Color.Transparent;
attenzione pero' lo sfondo del bottone non l'immagine contenuta diventera' trasparente!!, se vuoi fare trasparente l'immagine devi allora fare questo:
immagine.MakeTransparent();
Le immagini anche se contenute dentro ai bottoni rimangono oggetti a se stanti e come tali tutti i loro metodi ed attributi sono modificabili.