Mostrare un'immagine con il Drop del suo file in una PictureBox

Da Gambas-it.org - Wikipedia.

Il caso è quello in cui si intende far mostrare da una PictureBox un'immagine, semplicemente trascinando il suo file, preso anche da una finestra esterna all'applicativo Gambas, e rilasciandolo all'interno della predetta PictureBox.


Mostriamo un semplice esempio:

Public Sub Form_Open()

' Impostiamo la proprietà ".Drop" a "Vero" per consentire l'attivazione dell'evento del "Drop":
   PictureBox1.Drop = True

End


Public Sub PictureBox1_Drop()

 Dim percorso As String
  
  percorso = Drag.Paste("text/uri-list")
  
' Poiché il metodo "Drag.Paste()" ritorna la rappresentazione URI del pecorso del file immagine trascinato nella "PictureBox",
' qualora il nome del file immagine contenga uno o più spazi, essi sarebbero riportati con i caratteri %20 (da notare che 20 è il valore ASCII in esadecimale appunto dello spazio).
' Ciò determinerebbe un errore nel successivo metodo "File.Load()". Applichiamo, pertanto, alla stringa ritornata dal metodo "Drag.Paste()" la funzione "FromUrl()":
  percorso = FromUrl(percorso)
  
' Raccogliamo la parte della stringa contenente il mero percorso del file immagine:
  percorso = Scan(percorso, "file://*")[0]
   
  PictureBox1.Picture = Picture.Load(Trim(percorso))

End