C# 숫자 만 허용하는 텍스트 상자 만들기

  1. C#에서KeyPressEventArgs 클래스를 사용하여 ‘숫자’만 허용하는 ‘텍스트 상자’를 만듭니다
  2. C#에서Regex.IsMatch()메서드를 사용하여 숫자 만 허용하는 ‘텍스트 상자’를 만듭니다
  3. NumericUpDown 메서드를 사용하여 숫자 만 허용하는 텍스트 상자 만들기

Windows Forms를 만드는 동안 일부 텍스트 필드에는 숫자 값만 필요합니다. 예를 들어, 사용자로부터 전화 번호를 얻으려면 ‘텍스트 상자’를 숫자 값으로 만 제한해야합니다.

이 기사에서는 숫자 만 허용하는 ‘텍스트 상자’를 만드는 방법에 중점을 둘 것입니다.

C#에서KeyPressEventArgs 클래스를 사용하여 ‘숫자’만 허용하는 ‘텍스트 상자’를 만듭니다

KeyPressEventArgs는 사용자가 입력 할 때 입력 한 문자를 지정하는 C# 클래스입니다. 키를 누른다. KeyChar 속성은 사용자가 입력 한 문자를 반환합니다. 여기서는 KeyPress이벤트를 사용하여 textbox를 숫자 값으로 만 제한했습니다.

이 작업을 수행하는 키 코드는 다음과 같습니다.

!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) &&
        (e.KeyChar != '.');

eKeyChar 속성을 사용하여 입력 된 키를 가져 오는KeyPressEventArgs 객체입니다.

예제 코드:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) &&
                (e.KeyChar != '.'))
            {
                    e.Handled = true;
            }

            // only allow one decimal point
            if ((e.KeyChar == '.') && ((sender as TextBox).Text.IndexOf('.') > -1))
            {
                e.Handled = true;
            }
        }
    }
}

산출:

//only allows numeric values in the textbox

C# TextBox는 숫자 만 허용합니다

C#에서Regex.IsMatch()메서드를 사용하여 숫자 만 허용하는 ‘텍스트 상자’를 만듭니다

C#에서는 정규식을 사용하여 다양한 패턴을 확인할 수 있습니다. 정규식은 특정 작업을 수행하기위한 특정 패턴입니다. RegularExpressionsRegex.IsMatch()메소드에 대한 정의를 포함하는 C# 클래스입니다. C#에는^[0-9]+$^\d+$정규식이있어string이 숫자인지 확인합니다.

이 방법을 사용하는 올바른 구문은 다음과 같습니다.

Regex.IsMatch(StringName, @"Expression");

예제 코드:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text, "  ^ [0-9]"))
            {
                textBox1.Text = "";
            }
        }
       
    }
}

산출:

//A textbox created that only accepts numbers.

C# TextBox는 숫자 만 허용합니다

NumericUpDown 메서드를 사용하여 숫자 만 허용하는 텍스트 상자 만들기

NumericUpDown은 텍스트 상자가 제공하는 상향 및 하향 버튼을 사용하여 수치를 입력할 수 있는 인터페이스를 사용자에게 제공합니다.너는 간단히 공구상자에서 NumericUpDown을 끌어다 놓아서 숫자만 받는 텍스트 상자를 만들 수 있다.

NumericUpDown 객체를 동적으로 생성 할 수도 있습니다. NumericUpDown을 생성하는 코드는 다음과 같습니다.

private System.Windows.Forms.NumericUpDown numericUpDown;  
this.numericUpDown = new System.Windows.Forms.NumericUpDown();

속성 창을 열어서 수정할 수있는 몇 가지 속성이 있습니다.

산출:

C# TextBox는 숫자 만 허용합니다