C# の TextBox のみの数値
このチュートリアルでは、C# の数値のみを受け入れるテキストボックスを作成する方法を紹介します。
C# で NumberUpDown
ビューを使用した数値のみのテキストボックス
NumberUpDown
ビューは、C# でユーザーから数値入力を取得するために使用されます。Windows フォームアプリケーションに NumberUpDown
ビューを追加するには、ツールボックスから NumberUpDown
を選択し、フォームにドラッグします。NumberUpDown
ビューは、ユーザーから数値以外の値を取得しません。また、カーソルキーを使用して 1つの値を上下に移動することもできます。次のコード例は、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# の 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);
}
}
}
出力:
上記のコードでは、textBox1_KeyPress()
関数の KeyPressEvent.Handled
プロパティを使用して、テキストボックスが数値以外の値を処理しないように指定しました。
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