michelepizzi

Visualizzare immagine da url di rete inserito in un textbox

Jul 22nd, 2013 (edited)
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 2.49 KB | None | 0 0
  1. 'Visualizzare immagine da url di rete inserito in un textbox (Processo Asincrono)
  2.  
  3. 'BackgroundWorker1 = processo che preleverà l'immagine da un Textbox e la salverà in un PictureBox
  4. 'TextBox1 = Url dell'immagine
  5. 'PictureBox1 = PictureBox dove verrà visualizzata l'immagine
  6.  
  7. 'Al caricamento del Form bisognerà settare come verrà visualizzata l'immagine nel Pictubox. Conviene inserire Zoom come valore. In questo caso l'immagine verrà adattata alle dimensioni del Picturebox senza perdere le Proporzioni dell'immagine. E' consigliabile inserire anche l'immagine da visualizzare all'avvio del programma senza che risulti uno spazio vuoto. Esempio:
  8.     Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  9.         PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
  10.         PictureBox1.ImageLocation = "IMMAGINE.PNG" '<-- Inserire qui il percorso dell'immagine del pc
  11.     End Sub
  12.  
  13.  
  14.     'Processo Asincrono per non bloccare il programma
  15.     Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
  16.         If Not TextBox1.Text = "" Then
  17.             Dim req As Net.HttpWebRequest = Net.HttpWebRequest.Create(TextBox1.Text)
  18.             Dim res As Net.HttpWebResponse = DirectCast(req.GetResponse, Net.HttpWebResponse)
  19.             Dim img As Image = New System.Drawing.Bitmap(res.GetResponseStream)
  20.             res.Close()
  21.             PictureBox1.Image = img
  22.         Else 'se TextBox1 risulta vuoto caricare un immagine dal pc
  23.             PictureBox1.ImageLocation = "IMMAGINE.PNG" '<-- Inserire qui il percorso dell'immagine del pc
  24.         End If
  25.     End Sub
  26.  
  27.  
  28. 'Possiamo avviare il processo in vari modi. Ecco qualche esempio. La funziona BackgroundWorker1.IsBusy serve a non far eseguire il processo asincrono nel momento in un cui sia stato già eseguito e non finito.
  29.  
  30.     'Avviare il processo asincrono nel momento in cui togliamo il focus dal TextBox1 (Se per esempio ci spostiamo su un'altro Textbox)
  31.     Private Sub TextBox1_LostFocus(sender As Object, e As EventArgs) Handles TextBox1.LostFocus
  32.         If Not BackgroundWorker1.IsBusy Then
  33.             BackgroundWorker1.RunWorkerAsync()
  34.         End If
  35.     End Sub
  36.  
  37.     'Avviare il processo asincrono cliccando su un pulsante
  38.     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  39.         If Not BackgroundWorker1.IsBusy Then
  40.             BackgroundWorker1.RunWorkerAsync()
  41.         End If
  42.     End Sub
Add Comment
Please, Sign In to add comment