Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使文本框只接受数值?_C# - Fatal编程技术网

C# 如何使文本框只接受数值?

C# 如何使文本框只接受数值?,c#,C#,我想知道是否有一个文本框只接受数字的正确方法 例如,我希望它阻止用户使用abcd1234填充,只允许用户使用1234填充。您可以使用以下代码行评估输入: if (txtNumericBox.Text.All(char.IsDigit)) // Proceed else // Show error 如果使用getter和setter将其定义为字符串属性,则可以使用如下方法: private string _MyNemericStringr; public string MyNeme

我想知道是否有一个文本框只接受数字的正确方法


例如,我希望它阻止用户使用abcd1234填充,只允许用户使用1234填充。

您可以使用以下代码行评估输入:

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。否则,它将照常处理。

您可以使用以下代码行计算输入:

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。否则它将像往常一样处理。

我尝试了以下代码,效果很好。文本框只允许用户输入数字

你也可以试试这个

e.Handled = !(char.IsDigit(e.KeyChar));

我尝试了以下代码,效果很好。文本框只允许用户输入数字

你也可以试试这个

e.Handled = !(char.IsDigit(e.KeyChar));

你可以试试这个简单的代码

private void keypressbarcode(object sender, KeyPressEventArgs e)
{
        e.Handled = !(char.IsDigit(e.KeyChar) || e.KeyChar == (char)Keys.Back);
}

它只接受数值和退格

您可以试试这个简单的代码

private void keypressbarcode(object sender, KeyPressEventArgs e)
{
        e.Handled = !(char.IsDigit(e.KeyChar) || e.KeyChar == (char)Keys.Back);
}


它只接受数值和退格

当您说希望字符串阻止用户输入非数字字符时,您是在说文本框吗?如果没有,请添加更多信息。是的文本框,我现在更新它!第一,你使用的是什么技术?MVC、网页、WPF、UWP等。。。?另一方面,我猜你应该将它映射到一个属性,所以你应该将该属性设置为int,第三,你可以将你的输入设置为type=numbert这适用于web,不适用于WPF、UWP和其他,这将只允许输入数字。你为什么不使用numericUpDown呢?如果你只想有数字就更好了当你说你想让字符串阻止用户输入非数字字符时,你说的是文本框吗?如果没有,请添加更多信息。是的文本框,我现在更新它!第一,你使用的是什么技术?MVC、网页、WPF、UWP等。。。?另一方面,我猜你应该将它映射到一个属性,所以你应该将该属性设置为int,第三,你可以将你的输入设置为type=numbert这适用于web,不适用于WPF、UWP和其他,这将只允许输入数字。你为什么不使用numericUpDown呢?如果您只希望有数字,则更好用户可以使用该方法粘贴非数字吗?不,即使用户尝试输入alhabites,它也不允许。我如何使用主方法中的文本框调用方法txtbox1\u KeyPress?复制粘贴。。你确定吗?为了防止使用键盘在文本框中复制/粘贴,请将ShortcutsEnabled属性设置为false。用户可以使用该属性粘贴非数字吗?不,即使用户尝试输入Alhabites,也不允许。我如何使用主方法中的文本框调用方法txtbox1\u KeyPress?复制粘贴。。是否确定?要防止使用键盘在文本框中复制/粘贴,请将ShortcutsEnabled属性设置为false。