Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [Vb .NET] Gestire eventi di un array di componenti.
Forum - C# / VB.NET - [Vb .NET] Gestire eventi di un array di componenti.

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 16:41
Giovedì, 08/04/2010
Ciao a tutti.
In un webbrowser che sto facendo, ho creato due array di componenti (TabPage e WebBrowser) utilizzando questo codice:

Codice sorgente - presumibilmente Delphi

  1. Public Browser(25) As WebBrowser
  2.     Public Pages(25) As TabPage

  
...
Codice sorgente - presumibilmente VB.NET

  1. Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.         For k As Int32 = 0 To 22
  3.             Browser(k) = New WebBrowser
  4.             Pages(k) = New TabPage
  5.         Next
  6.         i = 1
  7.         TabControl1.TabPages.Add(Pages(i))
  8.         Browser(i).Parent = Pages(i)
  9.         Browser(i).Anchor = AnchorStyles.Bottom
  10.         Browser(i).Anchor = AnchorStyles.Top
  11.         Browser(i).Anchor = AnchorStyles.Left
  12.         Browser(i).Anchor = AnchorStyles.Right
  13.         Browser(i).Width = Pages(i).Width
  14.         Browser(i).Height = Pages(i).Height
  15.         Home = ConfigForm.ListView1.Items.Item(0).SubItems.Item(1).Text
  16.         Browser(i).Navigate(Home)
  17.     End Sub



La mia domanda è: come faccio a gestire gli eventi del browser? Cioè con un normalissimo WebBrowser1 io potevo usare per esempio l'evento WebBrowser1_DocumentCompleted(...)Handles ...  ecc...

Come posso gestirli anche da componenti array creati da codice?

Grazie mille


PM Quote
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 16:53
Giovedì, 08/04/2010
Credo possa andare bene "AddEventHandler".

Ultima modifica effettuata da crash outside control il 08/04/2010 alle 16:56


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM Quote
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 16:55
Giovedì, 08/04/2010
Io sono riuscito a far "navigare" i browser ma io vorrei gestire anche i loro "eventi" come DocumentCompleted, ProcessChanging ecc... quelli corrispondenti ai normali eventi di un componente WebBrowser1 che tu crei su una form...


PM Quote
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 17:03
Giovedì, 08/04/2010
Codice sorgente - presumibilmente VB.NET

  1. With Browser(i)
  2.      AddHandler .DocumentCompleted, AddressOf CaricamentoCompletato
  3. End With



Codice sorgente - presumibilmente C# / VB.NET

  1. Private Sub CaricamentoCompletato()
  2.         MsgBox("Blabla")
  3.     End Sub



Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM Quote
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 17:18
Giovedì, 08/04/2010
Grazie! Sono riuscito a usare il DocumentCompleted... Però quando vado ad usare il ProgressChanged, non saprei come fargli passare la variabile e
Cioè:
(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs)

Come faccio a integrarla nel codice?


PM Quote
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 17:41
Giovedì, 08/04/2010
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Procedura(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs)
  2.         Dim o As WebBrowser = sender
  3.         MsgBox(o.Name)
  4.     End Sub


Ultima modifica effettuata da crash outside control il 08/04/2010 alle 17:43


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM Quote
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 19:01
Giovedì, 08/04/2010
perfetto funziona!!
Però una domanda: questa procedura poi funziona per qualsiasi sia la i, cioè per ogni Browser dell'array?


PM Quote
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 19:09
Giovedì, 08/04/2010
Se aggiungi l'evento a ogni browser si.


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM Quote
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 19:22
Giovedì, 08/04/2010
ma nel senso che io posso lasciare un unica Sub e collegare questa a tutti i browser, vero?


PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo