Exporter (0) Imprimer
Développer tout

UpDownBase, classe

Implémente les fonctionnalités de base requises par une zone de sélection numérique (également appelée contrôle up-down).

Espace de noms : System.Windows.Forms
Assembly : System.Windows.Forms (dans system.windows.forms.dll)

[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
[ComVisibleAttribute(true)] 
public abstract class UpDownBase : ContainerControl
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
/** @attribute ComVisibleAttribute(true) */ 
public abstract class UpDownBase extends ContainerControl
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
ComVisibleAttribute(true) 
public abstract class UpDownBase extends ContainerControl

Une zone de sélection numérique se compose d'une zone de texte et d'une petite barre de défilement verticale, qui prend souvent le nom de contrôle Spin Button. La classe UpDownBase lie les deux contrôles et permet de cliquer sur les boutons HAUT et BAS pour modifier l'affichage du contenu de la zone de texte ou d'entrer directement une valeur du type approprié dans la zone de texte. Utilisez la zone de sélection numérique lorsque vous souhaitez limiter la liste des valeurs qu'un utilisateur peut sélectionner, comme dans le cas d'une zone de liste ou d'une liste déroulante. Selon le type de liste à afficher, choisissez une zone de sélection numérique lorsque vous souhaitez définir rapidement une plage de valeurs valides au lieu d'ajouter les éléments les uns après les autres. L'implémentation d'une zone de sélection numérique demande moins de validation de données qu'une zone de texte, puisque vous pouvez préciser le type des données à entrer lorsque vous dérivez une classe de UpDownBase. Par exemple, la classe NumericUpDown n'autorise l'entrée que de valeurs de type numérique et utilise une propriété Minimum et Maximum pour valider les données.

Pour qu'il soit possible d'utiliser les touches à flèches pour modifier le contenu d'une zone de sélection numérique, donnez à la propriété InterceptArrowKeys la valeur true. Pour limiter l'entrée de données à des valeurs que vous spécifiez, donnez à la propriété ReadOnly la valeur true. Pour contrôler l'alignement de texte dans la zone de sélection numérique, définissez la propriété TextAlign. Pour aligner les boutons HAUT et BAS sur la portion zone de texte du contrôle, donnez à la propriété UpDownAlign la valeur Left ou Right.

Lorsqu'elles sont substituées, les méthodes UpButton et DownButton gèrent les clics effectués sur les boutons HAUT et BAS. Lorsque les méthodes ValidateEditText et UpdateEditText sont substituées, elles valident la valeur (sélectionnée ou entrée) et mettent à jour le texte affiché dans la zone de sélection numérique. Si la validation de la valeur échoue, utilisez la méthode Select pour sélectionner le texte non valide. Ainsi, pour corriger, l'utilisateur n'aura qu'à taper une nouvelle valeur sans avoir à sélectionner ou supprimer manuellement le texte existant.

Remarques à l'attention des héritiers Lorsque vous héritez de UpDownBase, vous devez substituer les membres suivants : DownButton, UpButton, UpdateEditText, et ValidateEditText.

L'exemple de code suivant utilise la classe dérivée NumericUpDown et définit certaines de ses propriétés dérivées de UpDownBase. Ce code requiert que soient créées dans un formulaire : un contrôle NumericUpDown nommé numericUpDown1, deux contrôles ComboBox nommés comboBox1 et comboBox2, et trois contrôles CheckBox nommés checkBox1, checkBox2 et checkBox2. Ajoutez le code suivant à comboBox1: None, Fixed3D et FixedSingle. Ajoutez le code suivant à comboBox2: Left, Right et Center.

Le code vous permet de modifier les valeurs de propriétés au moment de l'exécution et de voir comment chacune affecte l'apparence et le comportement de la zone de sélection numérique.

private void comboBox1_SelectedIndexChanged(Object sender, 
                                             EventArgs e)
 {
      // Set the BorderStyle property.
     switch(comboBox1.Text)
     {
         case "Fixed3D":
             numericUpDown1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
             break;
         case "None":
             numericUpDown1.BorderStyle = System.Windows.Forms.BorderStyle.None;
             break;
         case "FixedSingle":
             numericUpDown1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
             break;
     }
 }
 
 private void comboBox2_SelectedIndexChanged(Object sender, 
                                             EventArgs e)
 {
      // Set the TextAlign property.    
     switch (comboBox2.Text)
     {
         case "Right":
             numericUpDown1.TextAlign = HorizontalAlignment.Right;
             break;
         case "Left":
             numericUpDown1.TextAlign = HorizontalAlignment.Left;
             break;
         case "Center":
             numericUpDown1.TextAlign = HorizontalAlignment.Center;
             break;
     }
 }
 
 private void checkBox1_Click(Object sender, 
                              EventArgs e)
 {
      // Evaluate and toggle the ReadOnly property.
     if (numericUpDown1.ReadOnly)
     {
         numericUpDown1.ReadOnly = false;
     }
     else
     {
         numericUpDown1.ReadOnly = true;
     }
 }
 
 private void checkBox2_Click(Object sender, 
                              EventArgs e)
 {
      // Evaluate and toggle the InterceptArrowKeys property.
     if (numericUpDown1.InterceptArrowKeys)
     {  
         numericUpDown1.InterceptArrowKeys = false;
     }
     else
     {
         numericUpDown1.InterceptArrowKeys = true;
     }
 }
 
 private void checkBox3_Click(Object sender, 
                              EventArgs e)
 {
      // Evaluate and toggle the UpDownAlign property.
     if (numericUpDown1.UpDownAlign == LeftRightAlignment.Left)
     {
         numericUpDown1.UpDownAlign = LeftRightAlignment.Right;
     }
     else
     {
         numericUpDown1.UpDownAlign = LeftRightAlignment.Left;
     }
 }
 

    private void comboBox1_SelectedIndexChanged(Object sender, EventArgs e)
    {
        // Set the BorderStyle property.
        if (comboBox1.get_Text().Equals("Fixed3D")) {
            numericUpDown1.set_BorderStyle(BorderStyle.Fixed3D);
        }
        else {
            if (comboBox1.get_Text().Equals("None")) {
                numericUpDown1.set_BorderStyle(BorderStyle.None);
            }
            else {
                if (comboBox1.get_Text().Equals("FixedSingle")) {
                    numericUpDown1.set_BorderStyle(BorderStyle.FixedSingle);
                }
            }
        }        
    }//comboBox1_SelectedIndexChanged
    
    private void comboBox2_SelectedIndexChanged(Object sender, EventArgs e)
    {
        // Set the TextAlign property.    
        if (comboBox2.get_Text().Equals("Right")) {
            numericUpDown1.set_TextAlign(HorizontalAlignment.Right);
        }
        else {
            if (comboBox2.get_Text().Equals("Left")) {
                numericUpDown1.set_TextAlign(HorizontalAlignment.Left);
            }
            else {
                if (comboBox2.get_Text().Equals("Center")) {
                    numericUpDown1.set_TextAlign(HorizontalAlignment.Center);
                }
            }
        }
    } //comboBox2_SelectedIndexChanged

    private void checkBox1_Click(Object sender, EventArgs e)
    {
        // Evaluate and toggle the ReadOnly property.
        if (numericUpDown1.get_ReadOnly()) {
            numericUpDown1.set_ReadOnly(false);
        }
        else {
            numericUpDown1.set_ReadOnly(true);
        }
    } //checkBox1_Click

    private void checkBox2_Click(Object sender, EventArgs e)
    {
        // Evaluate and toggle the InterceptArrowKeys property.
        if (numericUpDown1.get_InterceptArrowKeys()) {
            numericUpDown1.set_InterceptArrowKeys(false);
        }
        else {
            numericUpDown1.set_InterceptArrowKeys(true);
        }
    } //checkBox2_Click

    private void checkBox3_Click(Object sender, EventArgs e)
    {
        // Evaluate and toggle the UpDownAlign property.
        if (numericUpDown1.get_UpDownAlign().Equals(LeftRightAlignment.Left)) {
            numericUpDown1.set_UpDownAlign(LeftRightAlignment.Right);
        }
        else {
            numericUpDown1.set_UpDownAlign(LeftRightAlignment.Left );
        }
    } //checkBox3_Click
} //Form1 

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Control
         System.Windows.Forms.ScrollableControl
           System.Windows.Forms.ContainerControl
            System.Windows.Forms.UpDownBase
               System.Windows.Forms.DomainUpDown
               System.Windows.Forms.NumericUpDown

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft