Exportar (0) Imprimir
Expandir todo

NumericUpDown (Clase)

Representa un cuadro de número de Windows (también conocido como control de flechas) que muestra los valores numéricos.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
[ComVisibleAttribute(true)] 
public class NumericUpDown : UpDownBase, ISupportInitialize
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
/** @attribute ComVisibleAttribute(true) */ 
public class NumericUpDown extends UpDownBase implements ISupportInitialize
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
ComVisibleAttribute(true) 
public class NumericUpDown extends UpDownBase implements ISupportInitialize
No aplicable.

Un control NumericUpDown contiene un único valor numérico que se puede aumentar o disminuir al hacer clic en los botones Arriba o Abajo del control. El usuario también puede escribir un valor, a menos que la propiedad ReadOnly se haya establecido en true.

Para aplicar formato a la representación numérica, se puede establecer la propiedad DecimalPlaces, Hexadecimal o ThousandsSeparator. Para mostrar valores hexadecimales en el control, hay que establecer la propiedad Hexadecimal en true. Para mostrar un separador de miles en los números decimales cuando corresponda, hay que establecer la propiedad ThousandsSeparator en true. Para especificar el número de dígitos que deben aparecer detrás del símbolo decimal, hay que establecer la propiedad DecimalPlaces en el número de posiciones decimales que se desee mostrar.

Para especificar el intervalo de valores permitidos en el control, hay que establecer las propiedades Minimum y Maximum. Se establece el valor de Increment con el fin de especificar el valor que se debe aumentar o disminuir para la propiedad Value cuando el usuario hace clic en los botones de flecha Arriba o Abajo. Puede aumentar la velocidad con la que el control se desplaza por los números cuando el usuario presiona continuamente la flecha hacia arriba o hacia abajo si establece la propiedad Accelerations.

Cuando se llama a los métodos UpButton o DownButton, ya sea en el código o al hacer clic en los botones Arriba o Abajo, el nuevo valor queda validado y el control se actualiza con el nuevo valor en el formato correspondiente. En concreto, si la propiedad UserEdit está establecida en true, se llama al método ParseEditText antes de validar o actualizar el valor. Después, se comprueba si el valor se encuentra entre los valores Minimum y Maximum y se llama al método UpdateEditText.

En el ejemplo de código siguiente se crea y se inicializa un control NumericUpDown, se establecen algunas de sus propiedades comunes y se permite al usuario cambiar algunas de estas propiedades en tiempo de ejecución. Este código supone que se han colocado tres controles CheckBox en un formulario y se han creado instancias de controladores para sus eventos Click. En el evento Click de cada casilla de verificación, se establecen las propiedades DecimalPlaces, ThousandsSeparator y Hexadecimal, respectivamente.

public void InstantiateMyNumericUpDown()
{
   // Create and initialize a NumericUpDown control.
   numericUpDown1 = new NumericUpDown();

   // Dock the control to the top of the form.
   numericUpDown1.Dock = System.Windows.Forms.DockStyle.Top;

   // Set the Minimum, Maximum, and initial Value.
   numericUpDown1.Value = 5;
   numericUpDown1.Maximum = 2500;
   numericUpDown1.Minimum = -100;
   
   // Add the NumericUpDown to the Form.
   Controls.Add(numericUpDown1);
}

// Check box to toggle decimal places to be displayed.
private void checkBox1_Click(Object sender,
                             EventArgs e)
{
   /* If DecimalPlaces is greater than 0, set them to 0 and round the 
      current Value; otherwise, set DecimalPlaces to 2 and change the 
      Increment to 0.25. */
   if (numericUpDown1.DecimalPlaces > 0)
   {
      numericUpDown1.DecimalPlaces = 0;
      numericUpDown1.Value = Decimal.Round(numericUpDown1.Value, 0);
   }
   else
   {
      numericUpDown1.DecimalPlaces = 2;
      numericUpDown1.Increment = 0.25M;
   }
}

// Check box to toggle thousands separators to be displayed.
private void checkBox2_Click(Object sender,
                             EventArgs e)
{   
   /* If ThousandsSeparator is true, set it to false; 
      otherwise, set it to true. */
   if (numericUpDown1.ThousandsSeparator)
   {
      numericUpDown1.ThousandsSeparator = false;
   }
   else
   {
      numericUpDown1.ThousandsSeparator = true;
   }
}

// Check box to toggle hexadecimal to be displayed.
private void checkBox3_Click(Object sender, 
                             EventArgs e)
{
   /* If Hexadecimal is true, set it to false; 
      otherwise, set it to true. */    
   if (numericUpDown1.Hexadecimal)
   {
      numericUpDown1.Hexadecimal = false;
   }
   else
   {
      numericUpDown1.Hexadecimal = true;
   }
}


public void InstantiateMyNumericUpDown()
{
    // Create and initialize a NumericUpDown control.
    numericUpDown1 = new NumericUpDown();

    // Dock the control to the top of the form.
    numericUpDown1.set_Dock(System.Windows.Forms.DockStyle.Top);

    // Set the Minimum, Maximum, and initial Value.
    numericUpDown1.set_Value(System.Convert.ToDecimal(5));
    numericUpDown1.set_Maximum(System.Convert.ToDecimal(2500));
    numericUpDown1.set_Minimum(System.Convert.ToDecimal(-100));

    // Add the NumericUpDown to the Form.
    get_Controls().Add(numericUpDown1);
} //InstantiateMyNumericUpDown

// Check box to toggle decimal places to be displayed.
private void checkBox1_Click(Object sender,EventArgs e)
{
    /*  If DecimalPlaces is greater than 0, set them to 0 and round the 
        current Value; otherwise, set DecimalPlaces to 2 and change the 
        Increment to 0.25.
     */
    if (numericUpDown1.get_DecimalPlaces() > 0) {
        numericUpDown1.set_DecimalPlaces(0);
        numericUpDown1.set_Value(Decimal.Round
            (numericUpDown1.get_Value(), 0));
    }
    else {
        numericUpDown1.set_DecimalPlaces(2);
        numericUpDown1.set_Increment(System.Convert.ToDecimal((0.25)));
    }
} //checkBox1_Click

// Check box to toggle thousands separators to be displayed.
private void checkBox2_Click(Object sender,EventArgs e)
{
    /* If ThousandsSeparator is true, set it to false; 
       otherwise, set it to true.
     */
    if (numericUpDown1.get_ThousandsSeparator()) {
        numericUpDown1.set_ThousandsSeparator(false);
    }
    else {
        numericUpDown1.set_ThousandsSeparator(true);
    }
} //checkBox2_Click

// Check box to toggle hexadecimal to be displayed.
private void checkBox3_Click(Object sender,EventArgs e)
{
    /* If Hexadecimal is true, set it to false; 
       otherwise, set it to true. 
     */
    if (numericUpDown1.get_Hexadecimal()) {
        numericUpDown1.set_Hexadecimal(false);
    }
    else {
        numericUpDown1.set_Hexadecimal(true);
    }
} //checkBox3_Click

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.NumericUpDown

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
Mostrar:
© 2014 Microsoft