WPF – Il controllo GroupBox

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:https://deghetto.wordpress.com/2011/02/05/libro-visual-basic-2010-spiegato-a-mia-nonna/

Un controllo GroupBox (ved. figura seguente) rappresenta un contenitore di controlli che permette di trattare tutti i controlli in esso contenuti come un unico insieme, separato da altri gruppi di controlli.

Per esempio se vogliamo inserire due o più gruppi di controlli di tipo RadioButton, ciascun gruppo dovrà avere un solo controllo RadioButton selezionato in un dato momento.

Il controllo GroupBox in fase di progettazione:

27.39

La definizione XAML predefinita è la seguente:

   1: <GroupBox 

   2:   Header="GroupBox1" 

   3:   Height="100" 

   4:   HorizontalAlignment="Left" 

   5:   Margin="10,10,0,0" 

   6:   Name="GroupBox1" 

   7:   VerticalAlignment="Top" 

   8:   Width="200">

   9:   <Grid />

  10: </GroupBox>

Per fare un esempio pratico, inserite il seguente codice XAML:

   1: <!-- Esempio: 27.19 -->

   2: <Window x:Class="MainWindow"

   3:     xmlns=

   4: "http://schemas.microsoft.com/winfx/2006/xaml/presentation"

   5:     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

   6:     Title="MainWindow" Height="246" Width="493">

   7:   <Grid>

   8:     <GroupBox 

   9:       Header="GroupBox1" 

  10:       Height="141" 

  11:       HorizontalAlignment="Left" 

  12:       Margin="10,10,0,0" 

  13:       Name="GroupBox1" 

  14:       VerticalAlignment="Top" 

  15:       Width="222">

  16:     </GroupBox>

  17:     <GroupBox 

  18:       Header="GroupBox1" 

  19:       Height="141" 

  20:       HorizontalAlignment="Left" 

  21:       Margin="238,10,0,0" 

  22:       Name="GroupBox2" 

  23:       VerticalAlignment="Top" 

  24:       Width="222">

  25:       <Grid 

  26:         Height="119">

  27:         <RadioButton 

  28:           Content="Uno" 

  29:           HorizontalAlignment="Left" 

  30:           Margin="72,24,0,65" 

  31:           Name="RadioButton4" 

  32:           FontSize="20" 

  33:           Width="78" />

  34:         <RadioButton 

  35:           Content="Due" 

  36:           Height="30" 

  37:           HorizontalAlignment="Left" 

  38:           Margin="72,50,0,0" 

  39:           Name="RadioButton5" 

  40:           VerticalAlignment="Top" 

  41:           FontSize="20" 

  42:           Width="78" />

  43:         <RadioButton 

  44:           Content="Tre" 

  45:           Height="30" 

  46:           HorizontalAlignment="Left" 

  47:           Margin="72,76,0,0" 

  48:           Name="RadioButton6" 

  49:           VerticalAlignment="Top" 

  50:           FontSize="20" 

  51:           Width="78" />

  52:       </Grid>

  53:     </GroupBox>

  54:     <TextBox 

  55:       Height="38" 

  56:       HorizontalAlignment="Left" 

  57:       Margin="16,157,0,0" 

  58:       Name="TextBox1" 

  59:       VerticalAlignment="Top" 

  60:       Width="210" 

  61:       FontSize="20" />

  62:     <TextBox 

  63:       Height="38" 

  64:       HorizontalAlignment="Left" 

  65:       Margin="244,157,0,0" 

  66:       Name="TextBox2" 

  67:       VerticalAlignment="Top" 

  68:       Width="210" 

  69:       FontSize="20" />

  70:     <Grid 

  71:       Margin="16,27,245,0" 

  72:       Height="119" 

  73:       VerticalAlignment="Top">

  74:       <RadioButton 

  75:         Content="Giallo" 

  76:         Height="30" 

  77:         HorizontalAlignment="Left" 

  78:         Margin="65,24,0,0" 

  79:         Name="RadioButton1" 

  80:         VerticalAlignment="Top" 

  81:         FontSize="20" 

  82:         Width="78" />

  83:       <RadioButton 

  84:         Content="Verde" 

  85:         Height="30" 

  86:         HorizontalAlignment="Left" 

  87:         Margin="65,50,0,0" 

  88:         Name="RadioButton2" 

  89:         VerticalAlignment="Top" 

  90:         FontSize="20" 

  91:         Width="78" />

  92:       <RadioButton 

  93:         Content="Rosso" 

  94:         Height="30" 

  95:         HorizontalAlignment="Left" 

  96:         Margin="65,76,0,0" 

  97:         Name="RadioButton3" 

  98:         VerticalAlignment="Top" 

  99:         FontSize="20" 

 100:         Width="78" />

 101:     </Grid>

 102:   </Grid>

 103: </Window>

Poi scrivete il seguente codice Visual Basic:

   1: ' Esempio: 27.19

   2: Class MainWindow

   3:  

   4:   Private m_Group1SelectedRadioButton As String

   5:   Private m_Group2SelectedRadioButton As String

   6:  

   7:   Private Sub RadioButtonGroup1_CheckedChanged(

   8:       ByVal sender As Object,

   9:       ByVal e As EventArgs) _

  10:       Handles _

  11:         RadioButton1.Checked,

  12:         RadioButton2.Checked,

  13:         RadioButton3.Checked

  14:     Dim rb As RadioButton =

  15:       DirectCast(sender, RadioButton)

  16:     m_Group1SelectedRadioButton =

  17:       rb.Content.ToString

  18:     Me.TextBox1.Text =

  19:       m_Group1SelectedRadioButton

  20:   End Sub

  21:  

  22:   Private Sub RadioButtonGroup2_CheckedChanged(

  23:     ByVal sender As Object,

  24:     ByVal e As EventArgs) _

  25:     Handles _

  26:       RadioButton4.Checked,

  27:       RadioButton5.Checked,

  28:       RadioButton6.Checked

  29:     Dim rb As RadioButton =

  30:       DirectCast(sender, RadioButton)

  31:     m_Group2SelectedRadioButton =

  32:       rb.Content.ToString

  33:     Me.TextBox2.Text =

  34:       m_Group2SelectedRadioButton

  35:   End Sub

  36: End Class

 

Ecco, infine, l’applicazione funzionante:

27.40

Annunci

Pubblicato il 10 maggio 2011 su Novità. Aggiungi ai preferiti il collegamento . Lascia un commento.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: