C#의 TextBox에만있는 숫자

Muhammad Maisam Abbas 2024년2월15일
  1. C#에서NumberUpDown보기가있는 숫자 전용 TextBox
  2. C#에서TextBox보기가있는 숫자 전용 TextBox
C#의 TextBox에만있는 숫자

이 자습서에서는 C#의 숫자 만 허용하는 텍스트 상자를 만드는 방법을 소개합니다.

C#에서NumberUpDown보기가있는 숫자 전용 TextBox

NumberUpDown보기는 C#에서 사용자로부터 숫자 입력을 가져 오는 데 사용됩니다. Windows Form 애플리케이션에NumberUpDown보기를 추가하려면 도구 상자에서NumberUpDown을 선택하고 양식으로 드래그하기 만하면됩니다. NumberUpDown보기는 사용자로부터 숫자가 아닌 값을 가져 오지 않습니다. 또한 커서 키를 사용하여 한 값을 위 또는 아래로 이동할 수 있습니다. 다음 코드 예제는 C#의NumberUpDown보기를 사용하여 사용자의 숫자 값만 허용하는 텍스트 상자를 만드는 방법을 보여줍니다.

using System;
using System.Windows.Forms;

namespace textbox_numbers_only {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void numericUpDown1_KeyPress(object senderObject, KeyPressEventArgs KeyPressEvent) {
      if (!char.IsControl(KeyPressEvent.KeyChar) && !char.IsDigit(KeyPressEvent.KeyChar) &&
          (KeyPressEvent.KeyChar != '.')) {
        KeyPressEvent.Handled = true;
      }
      if ((KeyPressEvent.KeyChar == '.') && ((senderObject as TextBox).Text.IndexOf('.') > -1)) {
        KeyPressEvent.Handled = true;
      }
    }

    private void numericUpDown1_ValueChanged(object sender, EventArgs e) {}
  }
}

출력:

C# 텍스트 상자 번호 만 1

위 코드에서는 C#의NumberUpDown보기를 사용하여 사용자의 숫자 값만 허용하는 텍스트 상자를 만듭니다. numericUpDown1_KeyPress()함수에서.에 대한 확인을 추가했습니다. 값을 사용하여 사용자가 소수점 값을 입력 할 수 있습니다. 이 텍스트 상자는 2 자리 숫자 값만 사용합니다.

C#에서TextBox보기가있는 숫자 전용 TextBox

독점보기를 사용하지 않으려면 숫자 값만 허용하도록 원래TextBox보기를 수정할 수도 있습니다. TextBox_KeyPress()함수 내에서KeyPressEventArgs.Handled속성을 사용하여 텍스트 상자에서 처리해야하는 키 누름을 지정할 수 있습니다. 다음 코드 예제는 C#의TextBox보기로 숫자 값만 허용하는 텍스트 상자를 만드는 방법을 보여줍니다.

using System;
using System.Windows.Forms;

namespace textbox_numbers_only {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void textBox1_TextChanged(object sender, EventArgs e) {}
    private void textBox1_KeyPress(object sender, KeyPressEventArgs KeyPressEvent) {
      KeyPressEvent.Handled = !char.IsDigit(KeyPressEvent.KeyChar);
    }
  }
}

출력:

C# 텍스트 상자 번호 만 2

위의 코드에서 우리는 텍스트 상자가textBox1_KeyPress()함수의KeyPressEvent.Handled속성을 사용하여 숫자가 아닌 값을 처리하지 않도록 지정했습니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

관련 문장 - Csharp GUI