Salve Antonio, innanzitutto grazie per la tua risposta. E' un onore per me ricevere una risposta da te.
Un esempio lampante che mi viene in testa sarebbe:
codice:
Public Class Form1
Public Shared link_url As String
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
UserControl1.WebBrowser1.Navigate("https://www.google.com/ ")
End Sub
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs)
link_url = UserControl1.WebBrowser1.Document.Links(1).GetAttribute("href")
Dim frm As New Form2
frm.Show()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
AddHandler UserControl1.WebBrowser1.DocumentCompleted, AddressOf WebBrowser1_DocumentCompleted
End Sub
End Class
e in form2:
codice:
PublicClassForm2
PrivateSubForm2_Load(sender AsObject, e AsEventArgs)HandlesMyBase.Load
UserControl2.Label1.Text=Form1.link_url
EndSub
EndClass
ma sono esempi abbastanza "terra terra" o forse sono io che mi sto perdendo in un bicchier d'acqua.
Non capisco perchè non posso eseguire il tutto direttamente tramite usercontrols tipo:
codice:
Public Class Usercontrol1
Public Shared link_url As String
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs)
Try
Dim collection As HtmlElementCollection = WebBrowser1.Document.All
For Each element As HtmlElement In collection
If element.TagName = "A" Then
link_url = element.GetAttribute("HREF")
If link_url.Length > 70 Then
link_url= link_url.ToString.Replace(" - YouTube", "")
Label2.Text = "Creating Download - Step 1/4"
End If
End If
Next
End Sub
End Class
Mentre in Usercontrol2:
codice:
Dim sitoGoogleQrCode As String = "http://chart.googleapis.com/chart?chs={WIDTH}x{HEIGHT}&cht=qr&chl={TESTO}" sitoGoogleQrCode = sitoGoogleQrCode.Replace("{WIDTH}", PictureBox1.Width.ToString()).Replace("{HEIGHT}", PictureBox1.Height.ToString()).Replace("{TESTO}", WebUtility.UrlEncode(usercontrol1.link_url))
Dim client As WebClient = New WebClient()
Dim bytes As Byte() = client.DownloadData(sitoGoogleQrCode)
client.Dispose()
Dim memStream As MemoryStream = New MemoryStream(bytes)
Dim bmpQrCode As Bitmap = New Bitmap(memStream)
PictureBox1.Image = bmpQrCode
usercontrol1.Label2.Text = "Creating QR - Step 2/4"
Dove sta il mio errore? Sarebbe impossibile trasferire dati da usercontrols senza passare tramite i rispettivi forms prima?
Sto leggendo online tantissimi esempi.. Dal set & get, alle variabili publiche e per finire adesso sto provando a creare un modulo che posso richiamare in ogni form, senza tante dichiarazioni.. Qualsiasi consiglio è accetto.
Ti ringrazio,
Mattia