mario.deghetto

Visual Basic & .NET
posts - 332, comments - 79, trackbacks - 0

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:http://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

Print | posted on martedì 10 maggio 2011 5.23 |

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 3 and 5 and type the answer here:

Powered by: