Questo testo fa parte del capitolo 27 del libro “Visual Basic 2010 spiegato a mia nonna” che sarà pubblicato fra poche settimane. Trovate l’esempio di codice tra gli esempi liberamente scaricabili al seguente indirizzo:http://deghetto.wordpress.com/2011/02/05/libro-visual-basic-2010-spiegato-a-mia-nonna/
Anche in questo caso ci troviamo a un controllo simile a quello esistente in Windows Forms (ved. figura seguente). La sua funzione è quella di mostrare un'etichetta con un testo fisso e non direttamente modificabile (si può però modificare da codice).

La definizione XAML predefinita è la seguente:
1: <Label
2: Content="Label"
3: Height="28"
4: HorizontalAlignment="Left"
5: Margin="10,10,0,0"
6: Name="Label1"
7: VerticalAlignment="Top" />
Ecco, invece, un esempio di manipolazione di un controllo Label. Dato che questo tipo di controllo non rileva l'evento Click, vediamo come si invoca l'evento MouseDown. Questo evento rileva l'istante in cui viene premuto il tasto sinistro del mouse, ma solo la parte dell'evento Click che corrisponde alla pressione, senza rilasciare il tasto. Il codice XAML è il seguente:
1: <!-- Esempio: 27.08 -->
2: <Window x:Class="MainWindow"
3: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5: Title="MainWindow" Height="107" Width="544">
6: <Grid>
7: <Label
8: Content="Clicca su questo testo"
9: Height="48"
10: HorizontalAlignment="Left"
11: Margin="10,10,0,0"
12: Name="Label1"
13: VerticalAlignment="Top"
14: FontSize="32"
15: Width="500"
16: FontFamily="Arial" />
17: </Grid>
18: </Window>
Il codice Visual Basic, invece, è il seguente:
1: ' Esempio: 27.08
2: Class MainWindow
3: Private Sub Label1_MouseDown(
4: ByVal sender As Object,
5: ByVal e As _
6: System.Windows.Input.MouseButtonEventArgs) _
7: Handles Label1.MouseDown
8: If Me.Label1.Content.ToString =
9: "Bravo, hai cliccato! Clicca ancora..." Then
10: Me.Label1.Content =
11: "Clicca su questo testo..."
12: Else
13: Me.Label1.Content =
14: "Bravo, hai cliccato! Clicca ancora..."
15: End If
16: End Sub
17: End Class
Il risultato lo potete vedere, nelle due "fasi" alternate, nella figura seguente.
