在 C# 中的文字框中僅接受數字
本教程將介紹在 C# 中建立一個只接受數字的文字框的方法。
C# 中帶有 NumberUpDown
檢視的僅數字文字框
NumberUpDown
檢視用於從使用者使用 C# 獲取數字輸入。要在 Windows 窗體應用程式中新增 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# 中的 NumberUpDown
檢視接受使用者的數值。在 numericUpDown1_KeyPress()
函式中,我們新增了對 .
值的檢查,以允許使用者輸入小數點值。此文字框僅接受 2 位數字的數值。
在 C# 中僅帶有 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