B2. Controllo Button: la prima applicazione windows form
Il primo esempio che andrò a illustrare è costituito da un semplicissimo programma che, al click di un pulsante, visualizza un
messaggio che dice "Ciao, Mondo!" (un classico!). Prima di iniziare, però, è necessario prendere familiarità con le proprietà dei controlli,
un punto centrale e molto importante per la programmazione visuale. Tutti i controlli spiegati nei prossimi capitoli solo classi derivate da
Control, una classe astratta appartenente al Namespace System.Windows.Forms. Le sue proprietà più importanti, che vengono quindi ereditate
da ogni altro controllo, sono:

Per iniziare a scrivere il codice è necessario disporre di un evento di cui definire il corpo: fare doppio click con il mouse sul pulsante cmdCiao appena creato. Verrà automaticamente aperta la finestra del codice con scritto:
- AllowDrop : specifica se il controllo supporta il Drag and Drop (per ulteriori informazioni su questa tecnica, vedere capitolo 76)
- Anchor : proprietà enumerata codificata a bit (vedi capitolo 9) che permette di impostare a quali lati del form i corrispondenti lati del controllo restano "attaccati" durante il processo di ridimensionamento. Ad esempio, se un controllo ha proprietà Anchor impostata su AnchorStyles.Right Or AnchorStyles.Bottom, si muoverà solidalmente con l'angolo in alto a destra del form, poichè esso manterrà la stessa distanza iniziale tra i suoi bordi destro e superiore e i bordi destro e superiore del form.
- BackColor : il colore di sfondo
- BackgroundImage : immagine di sfondo
- ContextMenuStrip : il menù contestuale associato al controllo
- Controls : l'elenco dei controlli figli, ossia che si trovano "all'interno" di questo controllo. Ad esempio, richiamare Me.Controls in una windows form equivale a ottenere una lista di tutti i controlli presenti sulla finestra
- CreateGraphics() : restituisce un oggetto Graphics associato al controllo; serve per eseguire operazioni di grafica diretta sul controllo
- DoDragDrop() : inizia un'operazione di Drag and Drop da questo controllo
- Enabled : determina se il controllo è abilitato. Quando disabilitato, esso è di colore grigio scuro e non è possibile alcuna interazone tra l'utente e il controllo stesso
- Focus() : attiva il controllo
- Focused : determina se il controllo è attivo
- Font : carattere con cui il testo viene scritto sul controllo
- ForeColor : colore di sfondo
- Height : altezza
- Location : posizione del controllo rispetto al suo contenitore
- MousePosition : posizione del mouse rispetto al controllo
- Name : il nome del controllo (nome della variabile che rappresenta quel controllo nel form)
- Size : dimensione
- TabIndex : forse non tutti sanno che con il pulsante Tab (tabulazione) è possibile scorrere ordinatamente i controlli. Ad esempio, in una finestra con due caselle di testo, è possibile spostarsi dalla prima alla seconda premendo Tab. Questo accade anche nei moduli Web. La proprietà TabIndex determina l'indice associato al controllo in questo meccanismo. Così, se una casella di testo ha TabIndex = 0 e un menù a discesa TabIndex = 1, una volta selezionata la casella di testo sarà possibile spostarsi sul menù a discesa premendo Tab. L'iterazione può continuare indefinitamente per un qualsiasi numero di controlli e, una volta raggiunta la fine, reinizia daccapo
- Tag : qualsiasi oggetto associato al controllo
- Text : testo visualizzato sul controllo
- Visible : determina se il controllo è visibile
- Width : larghezza
Creare l'applicazione
Dopo aver creato un nuovo progetto windows form, impostare le seguenti proprietà della windows form mediante la finestra delle proprietà
sul lato destro dell'interfaccia del compilatore:
- (Name) = frmMain (notare la notazione ungherese)
- FormBorderStyle = FixedSingle. Questa proprietà determina come sia visualizzato il bordo della finestra; in questo caso si vuole che non sia ridimensionabile, con bordo singolo
- MaximizeBox = False. Determina se il pulsante Massimizza sia visibile sulla finestra: in questo caso non è possibile ingrandire la finestra a tutto schermo
- Text = "Primo programma" (senza virgolette)
- StartPosition = CenterScreen. Determina dove la finestra apparirà non appena caricata: in questo caso verrà posta esattamente al centro dello schermo
- (Name) = cmdCiao
- Text = "Cliccami"
Anteprima
Per iniziare a scrivere il codice è necessario disporre di un evento di cui definire il corpo: fare doppio click con il mouse sul pulsante cmdCiao appena creato. Verrà automaticamente aperta la finestra del codice con scritto:
Questo codice rappresenta un delegate associato all'evento Click del pulsante cmdCiao. Al suo interno vanno quindi dichiarate le istruzioni da eseguire in questo frangente. Dato che lo scopo del programma è visualizzare un messggio, introdurremo il codice seguente:Private Sub cmdCiao_Click(ByVal senderAs System.Object, _ByVal eAs System.EventArgs)Handles cmdCiao.ClickEnd Sub
MessageBox è un oggetto singleton disponibile in tutte le applicazioni windows ed espone solo il metodo Show, con il compito di visualizzare sullo schermo il messggio. Tale metodo ha la seguente signature:Private cmdCiao_Click(ByVal senderAs Object ,ByVal eAs EventArgs) _Handles cmdCiao.Click 'La funzione visualizza un mesaggio con i seguenti attributi '- Testo = "Ciao, Mondo!" '- Titolo = "Primo programma" '- Pulsanti = OK (un solo pulsante di conferma) '- Icona = Information (fumetto bianco con una "i" blu) MessageBox.Show("Ciao, Mondo!", _ "Primo programma", _ MessageBoxButtons.OK, _ MessageBoxIcon.Information)End Sub
Show(text, caption, buttons, icon, defaultButton, options, displayHelpButton)
- text : il testo da visualizzare nel box. Può comprendere anche dei caratteri di a capo, che si inseriscono concatenando alla stringa la costante vbCrLf.
- caption : il titolo della finestra.
- buttons : specifica tutti i pulsanti che devono apparire nel box. Ogni costante dell'enumeratore definisce una combinazione possibile di uno o più pulsanti, tra le seguenti: AbortRetryIgnore, OK, OKCancel, RetryCancel, YesNo, YesNoCancel.
- icon : specifica quale icona debba comparire sul lato sinsitro del box. L'enumeratore può assumere uno tra i seguenti valori: Information o Asterisk (una "i" blu su fumetto bianco), Error o Hand o Stop (una croce bianca su fondo rosso), Exclamation o Warning (un punto esclamativo nero su triangolo giallo), Question (un punto interrogativo blu su fumetto bianco), None (niente). Se il parametro non viene specificato, si assume None come valore di default.
- defaultButton : determina quale dei tre (o meno) pulsanti sia evidenziato quando appare il box.
- options : opzioni di visualizzazione. Possono essere una tra le seguenti: DefaultDesktopOnly o ServiceNotification (normale), RightAlign (il testo è allineato a destra), RtlReading (tutta la messagebox è invertita come se fosse allo specchio: viene usata per le culture in cui si legge da destra a sinistra, come quella araba).
- displayHelpButton : determina se visualizza il pulsante di aiuto ("?")
If MessageBox.Show("Ti piace Vb.Net?", "Domanda", MessageBoxButtons.YesNo, _ MessageBoxIcon.Question) = Windows.Forms.DialogResult.YesThen MessageBox.Show("Bravo!", "Risposta", MessageBoxButtons.OK)End If
The Totem's Lair - Copyright (C) 2009
È vietata la riproduzione sia totale che parziale del sito.



