Em computação, um SpinBox é um elemento de interface gráfica que permite aumentar ou diminuir um valor, geralmente, de um parâmetro numérico (por exemplo, tamanho ou data) de um objeto quando o usuário pressiona os botões do SpinBox . O SpinBox normalmente é usado em conjunto com caixa de texto que permitem inserir ou editar dados diretamente. Dependendo do gerenciador de janela ou aplicação em uso, existem muitos estilos de apresentação gráfica de SpinBox.
NumericUpDown
Representa um Windows SpinBox, também conhecido como um controle de cima para baixo, que exibe valores numéricos.
DomainUpDown
Representa um Windows SpinBox, também conhecido como um controle de cima para baixo que exibe valores de cadeia de texto.
Exemplo:
Neste exemplo criamos dois SpinBox, um para valores numéricos e outro que suporta Arrays.
C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Spinner
{
public partial class Form1 : Form
{
// Declara Componentes
Label titulo;
Label texto;
Label numero;
Label lista;
NumericUpDown spinner1;
DomainUpDown spinner2;
Button botao;
String[] tEstacao = { "Primavera", "Verão", "Outono", "Inverno" };
public Form1()
{
InitializeComponent();
}
private void Form1_Shown(object sender, EventArgs e)
{
// Cria Componentes
titulo = new Label();
texto = new Label();
numero = new Label();
lista = new Label();
botao = new Button();
spinner1 = new NumericUpDown();
spinner2 = new DomainUpDown();
// Adiciona valores as propriedades dos componentes
spinner1.Value = 1;
spinner1.Minimum = 0;
spinner1.Maximum = 10;
spinner1.Increment = 1;
// Adiciona Array
spinner2.Items.AddRange(tEstacao);
titulo.Text = "Desenvolvoimento Aberto - NumericUPDown";
texto.Text = "Texto:";
numero.Text = "Incio= 1, min= 0, max= 10, alimeta= 1";
lista.Text = "Lista de estações do ano";
botao.Text = "Ok";
// Tamanho dos componentes
titulo.Size = new Size(300, 20);
texto.Size = new Size(300, 20);
numero.Size = new Size(300, 20);
lista.Size = new Size(300, 20);
// posição dos compomentes no formulario
titulo.Location = new Point(5, 10);
texto.Location = new Point(5, 45);
numero.Location = new Point(5, 70);
spinner1.Location = new Point(5,90);
lista.Location = new Point(5, 120);
spinner2.Location = new Point(5, 140);
botao.Location = new Point(5, 170);
// Evento do botão
botao.Click += new System.EventHandler(this.botao_Click);
// Adiciona componentes ao formulario
Form1.ActiveForm.Controls.Add(titulo);
Form1.ActiveForm.Controls.Add(texto);
Form1.ActiveForm.Controls.Add(numero);
Form1.ActiveForm.Controls.Add(spinner1);
Form1.ActiveForm.Controls.Add(lista);
Form1.ActiveForm.Controls.Add(spinner2);
Form1.ActiveForm.Controls.Add(botao);
}
// Dispara evento on click do botão
private void botao_Click(object sender, EventArgs e)
{
texto.Text = "Numero: " + spinner1.Value.ToString() + " " +
"Estação: " + spinner2.Text;
}
}
}

