Semitrasparenza di un Form

Da Gambas-it.org - Wikipedia.

Per ottenere la semitrasparenza di un Form, si può assegnare alla sua Proprietà ".Opacity" [nota 1] un valore inferiore a 128, come segue:

Public Sub Form_Open()

 Me.Opacity = 50

Volendo, è possibile eliminare i bordi dal "Form":
 Me.Border = False

End

Ottenere un Form semitrasparente contenente un'immagine semitrasparente

Il caso in questione è quello in cui si intende mostrare un'immagine semitrasparente su un Form che sia esso stesso semitrasparente.
L'immagine semitrasparente, contenuta in un file immagine di formato PNG e caricata in una PictureBox, è caratterizzata dallo sfondo trasparente con una rappresentazione grafica (disegno o foto) semitrasparente, che sarà mostrata sul Form.

Private PictureBox1 As PictureBox


Public Sub Form_Open()

 Dim im As Image

 im = Image.Load("/percorso/del/file/immagine/semitrasparente.PNG")

 With PictureBox1 = New PictureBox(Me) As "PictureBox1"
   .X = 100
   .Y = 100
   .W = im.W
   .H = im.H
   .Image = im
 End With

 Me.Opacity = 50

Volendo, è possibile eliminare i bordi dal "Form":
 Me.Border = False

End

Ottenere un Form trasparente contenente un'immagine semitrasparente

Se invece si vuole che il Form sia trasparente e che la sola immagine, su di esso mostrata, risulti semitrasparente, allora il codice precedente sarà così modificato, assegnando alla Proprietà ".Transparent" del Form il valore "True":

 Private PictureBox1 As PictureBox


Public Sub Form_Open()

 Dim im As Image

 im = Image.Load("/percorso/del/file/immagine/semitrasparente.PNG")

 With PictureBox1 = New PictureBox(Me) As "PictureBox1"
   .X = 100
   .Y = 100
   .W = im.W
   .H = im.H
   .Image = im
 End With

 Me.Transparent = True

Volendo, è possibile eliminare i bordi dal "Form":
 Me.Border = False

End


Note

[1] Sulla Proprietà ".Opacity" del Form leggere la seguente pagina: https://gambaswiki.org/wiki/comp/gb.qt4/window/opacity