Richiamare un metodo della Classe di un oggetto inserito in una Collection

Da Gambas-it.org - Wikipedia.

Per richiamare ed utilizzare un metodo della Classe di un oggetto, la cui variabile è inserita in una Collection, si potranno utilizzare almeno due modalità.


1a modalità

Facciamo l'esempio in cui, oltre al Form principale, l'applicazione possiede anche tre Form secondari, le cui variabili sono poste in una Collection. Si intende, usando la Collection, richiamare il metodo .Show() per aprire uno dei Form secondari.

Public Form_1 As New Form
Public Form_2 As New Form
Public Form_3 As New Form

Private CollezioneForm As New Collection


Public Sub Form_Open()

 Form_1.Text = "Testo qualsiasi Form_1"

 With CollezioneForm
   .Add(Form_1, "chiave_Form_1")
   .Add(Form_2, "chiave_Form_2")
   .Add(Form_3, "chiave_Form_3")
 End With

' Richiamiamo il metodo .Show() del "Form" per farlo aprire:
 CollezioneForm["chiave_Form_1"].Show()

End


2a modalità

In quest'altro esempio si utilizzerà il metodo Object.Call(). Questa modalità riulta utile soprattutto se i Form secondari sono stati creati dall'IDE di Gambas e non da codice, come invece nella modalità precedente.

Private CollezioneForm As New Collection


Public Sub Form_Open()

 With CollezioneForm
   .Add(Form1, "chiave_Form1")
   .Add(Form2, "chiave_Form2")
   .Add(Form3, "chiave_Form3")
 End With

End


Public Sub Button1_Click()

' Richiamiamo il metodo .Show() del "Form" per farlo aprire:
 Object.Call(CollezioneForm["chiave_Form1"], "Show", Null)

End