Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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#_Winforms_Visual Studio 2010 - Fatal编程技术网

C# 限制在文本框中输入的数字

C# 限制在文本框中输入的数字,c#,winforms,visual-studio-2010,C#,Winforms,Visual Studio 2010,我正在尝试创建一个模拟狗赛跑的程序。3名玩家可以在任何一只狗上下注,但每只最多只能下注15美元。我有所有这些设置,除了只允许高达15美元的赌注。代码非常长,因此我将尝试解释到目前为止我拥有的内容 因此,我有单选按钮来选择要下注的玩家,一旦选择了一个玩家,就会启用4个单选按钮,允许下注的玩家选择要下注的狗。在选择了一只狗之后,我有一个名为txtAmount的文本框,然后他们输入想要下注的金额。然后,他们按下一个名为btnBet的按钮,确认他们的下注并允许其他玩家下注 我的问题是:是否可以允许输入文

我正在尝试创建一个模拟狗赛跑的程序。3名玩家可以在任何一只狗上下注,但每只最多只能下注15美元。我有所有这些设置,除了只允许高达15美元的赌注。代码非常长,因此我将尝试解释到目前为止我拥有的内容

因此,我有单选按钮来选择要下注的玩家,一旦选择了一个玩家,就会启用4个单选按钮,允许下注的玩家选择要下注的狗。在选择了一只狗之后,我有一个名为txtAmount的文本框,然后他们输入想要下注的金额。然后,他们按下一个名为btnBet的按钮,确认他们的下注并允许其他玩家下注

我的问题是:是否可以允许输入文本框的数字最多只增加到15?(我已经有了它,所以只有数字可以输入,但我想限制它可以上升到什么数字),还是最好只放在一个组合框中

更新

下面是我用来将文本框限制为仅数字的代码:

    private void txtAmount_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar != '\b')
        {
            e.Handled = !char.IsNumber(e.KeyChar);
        }
    }

我的问题与评论中提到的另一个问题不同。原因如下:我不是问如何只限制数字,我是问如何限制某些数字(包括1-15)

嗯,我不知道如何只允许输入数字,但当我这样做时,我创建了一个新的“num only”文本框,它继承了普通文本框的所有内容,然后像这样覆盖了keyPressed函数()。如果输入不是数字,则不会接受输入。您可以添加另一个if语句,检查输入的金额是否高于15,并添加新的数字,如果不需要,则将新数字添加到文本框中

考虑一个
NumericUpDown
@puropoix,这也是我刚才链接的可能重复问题答案中的选项之一@Dijkgraaf,我的问题是类似的,但我已经限制了数字,我在问是否可以限制可以输入的数字,例如:我希望投注者能够下注1到15(包括)之间的任何金额。但是不能输入任何大于15的数字,这可能是OP想要的,因为这不仅仅是拒绝非数字。@JohnKenny,重复问题还有很多其他提到的方法。另外,您的代码可能无法用于粘贴的值。你可能想测试一下。根据John Saunders的评论,您可能想看看使用“验证”按键事件是否有助于检查输入的单个按键。但是检查整个输入的内容更好。你不能添加if(int.tryParse(txtmount.text+e.KeyChar)>15){e.handled=true;}@seb-o-matic我有点困惑。。在您检查
if(e.KeyChar!='\b'{…}
噢,对不起,文本是大写的T,所以txtmount.text()