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; } } }