Differenze tra le versioni di "Raggiungere e gestire gli oggetti di FMain da una classe secondaria"
(7 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 3: | Riga 3: | ||
<P>Scopo del programma didattico è quello di gestire tutti i suddetti oggetti di FMain mediante istruzioni poste nella classe secondaria "Cmia.class". In particolare il programma didattico dovrà assegnare a "Button1" e a "Label1" la ''Caption'': "luna", mentre a "Label2" ed a "Label3" la ''Caption'': "sole".</p> | <P>Scopo del programma didattico è quello di gestire tutti i suddetti oggetti di FMain mediante istruzioni poste nella classe secondaria "Cmia.class". In particolare il programma didattico dovrà assegnare a "Button1" e a "Label1" la ''Caption'': "luna", mentre a "Label2" ed a "Label3" la ''Caption'': "sole".</p> | ||
<P>Il modo più semplice di gestire oggetti presenti nel Form da una classe secondaria è quella di poterli richiamare direttamente all'interno della classe secondaria medesima, ossia poter scrivere così: | <P>Il modo più semplice di gestire oggetti presenti nel Form da una classe secondaria è quella di poterli richiamare direttamente all'interno della classe secondaria medesima, ossia poter scrivere così: | ||
− | <BR><Font Color= #B22222>FMain.Button1.Caption = "luna"''</font> | + | <BR><Font Color= #B22222>FMain.Button1.Caption = "luna"''</font> |
− | <BR><Font Color= #B22222>FMain.Label1.Caption = "luna"''</font> | + | <BR><Font Color= #B22222>FMain.Label1.Caption = "luna"''</font> |
<BR><Font Color= #B22222>FMain.Label2.Caption = "sole"''</font> | <BR><Font Color= #B22222>FMain.Label2.Caption = "sole"''</font> | ||
<BR><Font Color= #B22222>FMain.Label3.Caption = "sole"''</font></p> | <BR><Font Color= #B22222>FMain.Label3.Caption = "sole"''</font></p> | ||
− | <P>Per far sì che gli oggetti presenti nel Form principale siano richiamabili da una classe secondaria è necessario rendere '' | + | <P>Per far sì che gli oggetti presenti nel Form principale siano richiamabili da una classe secondaria è necessario rendere ''pubblici'' i controlli del Form. Ciò si farà così: |
− | <BR>1) in alto a sinistra nel menu cliccare su: "''Progetto''", quindi "''Proprietà''"; | + | <BR>1) in alto a sinistra nel menu cliccare su: "''Progetto'' ", quindi "''Proprietà'' "; |
− | <BR>2) nella finestra, che compare, scegliere la scheda "''Opzioni''"; | + | <BR>2) nella finestra, che compare, scegliere la scheda "''Opzioni'' "; |
− | <BR>3) nella scheda delle "Opzioni" attivare (cambiare da NO a Sì) | + | <BR>3) nella scheda delle "Opzioni" attivare (cambiare da NO a Sì) l'opzione: «''I controlli del form sono "Public"''».</p> |
− | + | In alternativa nella classe secondaria "Cmia.class" si potrà sperimentare anche un codice del tipo seguente: | |
− | + | ''<Font Color= #006400>' il seguente codice è scritto nella classe secondaria Cmia.class:''</font> | |
− | + | ||
− | ''<Font Color= #006400>' il seguente codice è scritto nella classe secondaria Cmia.class''</font> | + | Public Sub cmiaSec(testo As String) |
− | |||
− | |||
Dim obj, objsub As Object | Dim obj, objsub As Object | ||
− | |||
For Each obj In FMain.Children | For Each obj In FMain.Children | ||
− | |||
Select Case obj.Name | Select Case obj.Name | ||
Case "Button1" | Case "Button1" | ||
Riga 39: | Riga 35: | ||
Next | Next | ||
Endif | Endif | ||
− | |||
Next | Next | ||
− | + | End |
Versione attuale delle 08:59, 30 lug 2023
In un progetto didattico supponiamo di avere un Form principale, sul quale sono posti un Button (che chiameremo: "Button1") ed una Label (che chiameremo: "Label1"), nonché un contenitore Panel (che chiameremo: "Panel1") contenente a sua volta due Label ("Label2" e "Label3").
Nel programma è presente anche una classe secondaria, che per l'occasione chiameremo "Cmia.class", istanziata ovviamente nella classe principale "FMain.class".
Scopo del programma didattico è quello di gestire tutti i suddetti oggetti di FMain mediante istruzioni poste nella classe secondaria "Cmia.class". In particolare il programma didattico dovrà assegnare a "Button1" e a "Label1" la Caption: "luna", mentre a "Label2" ed a "Label3" la Caption: "sole".
Il modo più semplice di gestire oggetti presenti nel Form da una classe secondaria è quella di poterli richiamare direttamente all'interno della classe secondaria medesima, ossia poter scrivere così:
FMain.Button1.Caption = "luna"
FMain.Label1.Caption = "luna"
FMain.Label2.Caption = "sole"
FMain.Label3.Caption = "sole"
Per far sì che gli oggetti presenti nel Form principale siano richiamabili da una classe secondaria è necessario rendere pubblici i controlli del Form. Ciò si farà così:
1) in alto a sinistra nel menu cliccare su: "Progetto ", quindi "Proprietà ";
2) nella finestra, che compare, scegliere la scheda "Opzioni ";
3) nella scheda delle "Opzioni" attivare (cambiare da NO a Sì) l'opzione: «I controlli del form sono "Public"».
In alternativa nella classe secondaria "Cmia.class" si potrà sperimentare anche un codice del tipo seguente:
' il seguente codice è scritto nella classe secondaria Cmia.class: Public Sub cmiaSec(testo As String) Dim obj, objsub As Object For Each obj In FMain.Children Select Case obj.Name Case "Button1" obj.Caption = "luna" Case "Label1" obj.Caption = "luna" End Select If Object.Type(obj) = "Panel" Then For Each objsub In obj.Children If Object.Type(objsub) = "Label" Then objsub.Caption = "sole" Endif Next Endif Next End