如何使用文本框消息阻止无效输入并拒绝不是数字的输入

时间:2016-04-25 13:43:25

标签: c#

我有一种方法可以让我获得保存在班上的竞争对手信息。

它已经通过消息阻止空输入。如果用户输入了一个不存在的号码,程序将阻止另一条消息。

我想实现一种功能,如果任何形式的文本输入为true,则输入被归类为无效,因此用户必须将其输入更改为有效值。

这是我的一段代码,我选择哪个竞争对手需要打印。我是stackoverflow的新手,所以如果我方需要共享更多代码,请告诉我。

public void CompetitorToPrint(string NumberTextBoxInput)
{

    Skier searchCompetitor = ActiveLodge.FindCompetitor(NumberTextBoxInput);
    if (searchCompetitor == null)
        MessageBox.Show("Competitor number does not exist. Please try again. ");
    else
        EditCompetitor(searchCompetitor);
}

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点,我想到的两个方法是你可以循环使用框中的字符,或使用正则表达式

//Looping
bool textChar = false;
foreach(char letter in NumberTextBoxInput)
{
    if(!Char.IsNumber(letter))
    {
        textChar = true;
        break;
    }
}
if(textChar)
    MessageBox.Show("Please enter a valid number.");
else
{
    //Rest of method
}

可选地

//Regex
Regex reg = new Regex(@"\D");
if(reg.IsMatch(NumberTextBoxInput))
{
    MessageBox.Show("Please enter a valid number.");
}
else
{
    //Rest of method
}