Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'Visualizzare immagine da url di rete inserito in un textbox (Processo Asincrono)
- 'BackgroundWorker1 = processo che preleverà l'immagine da un Textbox e la salverà in un PictureBox
- 'TextBox1 = Url dell'immagine
- 'PictureBox1 = PictureBox dove verrà visualizzata l'immagine
- '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:
- Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
- PictureBox1.ImageLocation = "IMMAGINE.PNG" '<-- Inserire qui il percorso dell'immagine del pc
- End Sub
- 'Processo Asincrono per non bloccare il programma
- Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
- If Not TextBox1.Text = "" Then
- Dim req As Net.HttpWebRequest = Net.HttpWebRequest.Create(TextBox1.Text)
- Dim res As Net.HttpWebResponse = DirectCast(req.GetResponse, Net.HttpWebResponse)
- Dim img As Image = New System.Drawing.Bitmap(res.GetResponseStream)
- res.Close()
- PictureBox1.Image = img
- Else 'se TextBox1 risulta vuoto caricare un immagine dal pc
- PictureBox1.ImageLocation = "IMMAGINE.PNG" '<-- Inserire qui il percorso dell'immagine del pc
- End If
- End Sub
- '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.
- 'Avviare il processo asincrono nel momento in cui togliamo il focus dal TextBox1 (Se per esempio ci spostiamo su un'altro Textbox)
- Private Sub TextBox1_LostFocus(sender As Object, e As EventArgs) Handles TextBox1.LostFocus
- If Not BackgroundWorker1.IsBusy Then
- BackgroundWorker1.RunWorkerAsync()
- End If
- End Sub
- 'Avviare il processo asincrono cliccando su un pulsante
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- If Not BackgroundWorker1.IsBusy Then
- BackgroundWorker1.RunWorkerAsync()
- End If
- End Sub
Add Comment
Please, Sign In to add comment