我想知道文本框是否有正确的方法只接受数字。
例如,我希望它“停止”用户填写“abcd1234”,只让他填写“1234”
提前致谢!
答案 0 :(得分:8)
我尝试了以下代码,并为我工作得很好。 textbox
将允许用户仅输入数字。
private void txtbox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
你也可以试试这个
e.Handled = !(char.IsDigit(e.KeyChar));
答案 1 :(得分:0)
您可以使用以下代码行评估输入:
if (txtNumericBox.Text.All(char.IsDigit))
// Proceed
else
// Show error
如果使用getter和setter将其定义为字符串属性,则可以使用如下所示:
private string _MyNemericStringr;
public string MyNemericString
{
get { return _MyNemericStringr; }
set {
if (value.All(char.IsDigit))
_MyNemericStringr = value;
else
_MyNemericStringr = "0";
}
}
在第二个示例中,如果为属性分配任何非数字值,则它将返回值"0"
。否则会像往常一样处理。
答案 2 :(得分:-1)
你可以尝试这个简单的代码。
private void keypressbarcode(object sender, KeyPressEventArgs e)
{
e.Handled = !(char.IsDigit(e.KeyChar) || e.KeyChar == (char)Keys.Back);
}
它只接受数字值和退格