Sincronizza Indice |
Scarica il progetto |
Testo dell'articolo |
Stampa l'articolo |
È giunto il momento di trasformare in pratica tutto quello che abbiamo visto nelle lezioni precedenti. Qui comincia la parte veramente divertente di questo linguaggio. Riprendiamo il progetto iniziato nella lezione 1 e rivisto nella lezione 2. Non appena si presenta l'IDE con il nostro progetto, la prima cosa che salta all'occhio è la parte centrale con quella finestra vuota, la cui barra del titolo segnala Form1. Quello spazio è un Form , una finestra per l'utente del programma. Sarà la nostra area di lavoro. Sopra il nostro form inseriremo tutti i componenti per fare un programma che faccia qualcosa di utile e soprattutto, lo faccia bene. Diamo
uno sguardo anche alla finestra delle proprietà ,
vista nella lezione 2. Nel nostro caso in alto abbiamo l'oggetto Form1, istanza della classe Form. Subito sotto abbiamo un elenco di proprietà legate a questa istanza. La prima proprietà è Name, che identifica univocamente un oggetto. All'interno di uno stesso progetto non può esistere un form il cui nome è uguale ad un altro oggetto, sia esso form o altro. poiché faremo uso di un solo form, per ora, lasciamo il nome standard fornito: Form1. Questo sarà il nome attraverso il quale opereremo su questa particolare istanza di form. Subito sotto la proprietà Name ne troviamo altre che regolano il comportamento e lo stile del nostro form. Nota che ci sono le freccette per salire e scendere nell'elenco, indice che queste non sono le uniche proprietà a disposizione. Abbiamo evidenziato l'ultima proprietà visibile, cioè la proprietà Caption. Questa identifica il titolo presente sopra la nostra finestra, come possiamo vedere nella prima figura e come vediamo spiegato nella casella subito sotto la nostra proprietà. Prova a modificare il valore della proprietà Caption da Form1 a "Visual Basic è semplice" e vedrai subito il cambiamento nel titolo del form.
L'oggetto form ha decine di proprietà da impostare. Caption è solo una d'esse. Vediamo per esempio altre due proprietà, poste un po' più in basso di quella appena vista, cioè le proprietà MinButton e MaxButton. Queste due proprietà regolano la presenza e l'attivazione dei pulsanti di riduzione ad icona e di ingrandimento del form. Vediamo come stanno le cose inizialmente.
Proviamo a vedere che succede se impostiamo entrambe le suddette proprietà a False (FALSO). Ecco che i due pulsanti di ridimensionamento sono spariti. Se avessimo, invece, impostato soltanto una delle due proprietà a False, i pulsanti sarebbero rimasti entrambi, ma quello la cui proprietà è stata impostata a False sarà disabilitato. Visibile ma non cliccabile. Per avere un'idea più chiara della classe Form clicca sulla sezione Controlli Thunder e poi Form. Se vuoi andare direttamente a quella pagina clicca qui. Introduciamo un nuovo tipo di oggetto, anzi di classe. La classe Label è presente nella casella degli strumenti con il pulsante Per creare un'istanza della classe Label (quindi un oggetto Label) basta cliccare due volte sulla sua icona oppure cliccare solo una volta sull'icona e tracciare un rettangolo sul form, tenendo il tasto sinistro del mouse premuto. Verrà creato un oggetto di nome Label1 (il nome, lo ricordiamo, è visibile nella finestra delle proprietà vista prima). A che serve una Label? In inglese significa etichetta, e serve a scrivere delle informazioni (in genere visibili) sopra un form. Potrebbe fungere da istruzioni sull'uso delle funzioni della finestra. Per scrivere le informazioni sull'oggetto Label, impostare la proprietà
Caption con la frase che si intende far apparire in essa. Se la frase
è troppo lunga potrebbe non entrare nella Label. In tal caso basta
cliccare una volta sull'oggetto di cui modificare le dimensioni (la nostra
Label1), ed assicurarsi che compaiano i quadratini di ridimensionamento
come mostrato nella figura 6.
Se si vuole evitare di dover ridimensionare ogni volta la Label si può impostare la proprietà Autosize (Autodimensionamento) a True. Così facendo, ogni volta che si modifica il contenuto della label, ossia la proprietà Caption, il rettangolo prenderà la forma giusta per far visualizzare il testo. Se si vuole spostare la posizione di una label si può afferrare la nostra Label1 e trascinarla a spasso per lo schermo e rilasciarla dove vogliamo che essa si posi. È giunto il tempo di provare il nostro programma e vedere nei fatti cosa viene presentato all'utilizzatore del programma. Per passare dalla fase di progettazione alla fase di esecuzione premere il tasto F5 oppure aprire il menu Esegui e cliccare la voce Avvia. In pochi istanti apparirà il programma vero e proprio. In questa fase potrete notare che non è più possibile prendere gli oggetti sul form e trascinarli, oppure modificarli. Infatti il programma, una volta terminato e compilato per renderlo utilizzabile su ogni computer, non può essere più modificato. L'unica possibilità di effettuare modifiche al programma è data dal possedere i codici sorgente, i codici in linguaggio Visual Basic. Un normale utilizzatore normalmente riceve una copia del programma funzionante, ma non i codici sorgente, escludendo quindi la possibilità di modificare il programma. Per chiudere il programma e ritornare a Visual Basic premere la X in alto a destra del nostro Form1 (mi raccomando, non il pulsante di chiusura di VB, ma quello del Form).
Sarebbe molto stupido e del tutto inutile un programma statico, non mutabile ed incapace di rispondere alle azioni del suo utilizzatore. Per questo è possibile ripetere le stesse operazioni effettuate nella fase di progettazione, al momento in cui è necessario. Per esempio possiamo fare in modo che ogni volta che l'utente clicca su una parte del Form1, all'interno della nostra Label1 viene mostrata la data e l'ora attuali. Per far questo ci dobbiamo ricollegare al concetto di evento , visto nella lezione precedente. Nel nostro caso vogliamo sfruttare l'evento che scatta al momento in cui l'utente clicca con il mouse sul Form. Innanzitutto abbandoniamo la finestra di progettazione e passiamo alla finesta del codice, la vera parte della programmazione Visual Basic. Aprire il menu Visualizza e scegliere la voce Codice (la prima) oppure premere il tasto F7. Si aprirà la videata bianca del codice, come appare nella figura 9.
Possiamo dividere questa finestra in tre parti:
Se premiamo sulla casella di sinistra ci vengono riportati tutti gli oggetti del nostro form, cioè il Form stesso e la Label1 che abbiamo inserito in esso. Se siete stati attenti avrete notato che nella casella di sinistra non ci viene riportato il nome del form, cioè Form1, ma soltanto Form. Tuttavia questa stranezza non intende cambiare il nome al form. Se vogliamo riferirci al nostro Form1, dovremo scrivere sempre Form1. Se all'interno di Form1 intendiamo impostare la proprietà Caption potremo utilizzare Form1.Caption, oppure Me.Caption. Infatti ogni form, all'interno di se stesso si chiama Me. Clicchiamo sulla casella degli oggetti e scegliamo l'oggetto Form. Ci verrà in automatico creata una funzione di nome Form_Load. Se adesso guardiamo sulla casella di destra troviamo scritto Load. Ebbene questo significa che la funzione che il computer ci ha generato in automatico è la funzione collegata all'evento Load. Ma la funzione che serve a noi è quella collegata all'evento del click del mouse sul Form, non quella collegata al caricamento del form (Load). Per cui clicchiamo sulla casella di destra e cerchiamo l'evento Click (in alto). Alla selezione dell'evento viene creata in automatico la funzione Form_Click. Le funzioni collegate agli eventi hanno questa struttura:
Nel nostro esempio specifico abbiamo infatti:
Torniamo al nostro esempio. Vogliamo scrivere nella etichetta Label1
la data e l'ora del momento in cui l'utente clicca sul form. Innanzitutto,
come detto prima, per impostare il testo di una Label bisogna impostare
la proprietà Caption. Per cui scriviamo all'interno della funzione
legata all'evento l'istruzione di aggiornamento. L'istruzione che ci dà
la data e l'ora corrente è Now. Ecco la funzione completa per effettuare il nostro lavoro:
Eseguiamo il programma e proviamolo per vedere l'effetto dell'utilizzo
dell'evento Click. Per ritornare alla finestra di progettazione del form aprite il menu Visualizza e cliccate la voce oggetto oppure premete la combinazione di tasti SHIFT+F7. Non appena finite di lavorare con questo progetto ricordatevi di salvarlo,
ma stavolta il processo di salvataggio sarà più facile della
volta precedente poiché il progetto ha già un nome ed i
files sono già stati impostati. In pratica non vi accorgerete neanche
che ha salvato. |
Questo era un ottimo esempio per vedere
il funzionamento delle proprietà a Run
Time, infatti durante l'esecuzione del programma non possiamo sfruttare
la finestra delle proprietà e non possiamo stabilire a priori il
momento in cui l'utente cliccherà sul form.
Mauro
Scaini
|
Torna alla terza lezione | Vai alla quinta lezione |