C# 如何在文本框中仅输入间隔中的数字

C# 如何在文本框中仅输入间隔中的数字,c#,winforms,C#,Winforms,我尝试为小程序提醒制作一些表单(C#,WinForms)。 在这个过程中,我遇到了一些问题——如何对文本框进行过滤,用户必须在文本框中输入事件的开始时间。 结果得到下一个按键事件添加一些代码,允许只输入数字,但我也希望用户可以只输入一些数字 代码: private void starTimetextBox\u按键(对象发送器,按键事件参数e) { 如果((e.KeyChar>='0')&&(e.KeyChar请尝试以下操作:- private void textBox1_KeyPress(obj

我尝试为小程序提醒制作一些表单(C#,WinForms)。 在这个过程中,我遇到了一些问题——如何对文本框进行过滤,用户必须在文本框中输入事件的开始时间。 结果得到下一个按键事件添加一些代码,允许只输入数字,但我也希望用户可以只输入一些数字

代码:

private void starTimetextBox\u按键(对象发送器,按键事件参数e)
{
如果((e.KeyChar>='0')&&(e.KeyChar请尝试以下操作:-

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
    }
注意:-您可以使用TextBox的MaxLength属性来限制用户只输入2位数字。要向用户显示消息,您可以使用TextBox的TextChanged事件。

尝试以下操作:-

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
    }

注意:-您可以使用TextBox的MaxLength属性来限制用户只输入2位数字。要向用户显示消息,您可以使用TextBox的TextChanged事件。

要对字符0到9进行筛选,您可以扩展上一个答案。 (与您的问题样本相似)

private void textBox1\u按键(对象发送器,按键事件参数e)
{
e、 Handled=!char.IsDigit(e.KeyChar)和&!char.IsControl(e.KeyChar)

&&(e.KeyChar>='0'&&e.KeyChar要对字符0到9进行筛选,可以扩展前面的答案。 (与您的问题样本相似)

private void textBox1\u按键(对象发送器,按键事件参数e)
{
e、 Handled=!char.IsDigit(e.KeyChar)和&!char.IsControl(e.KeyChar)

&& (e.KeyChar>='0'&&e.KeyChar这不会阻止用户复制和粘贴文本。我如何才能为此添加一些数据?据我所知,此代码只允许输入数字和控制键,但我也希望生成一些代码,允许输入0到24之间的仅限用户的数字,我可以使用此事件/或我必须编写一些单独的方法吗d为此目的?@SriramSakthivel:-为了防止用户进行复制和粘贴,您可以将textbox的ShortcutsEnabled属性设置为false。@Kirill:-您不能限制用户在文本框中只输入数字1,2,3,4,5,6,….24。但您可以做的是限制用户只输入两个数字,然后可以应用某些检查检查文本框中输入的数字是否在0-24范围内!!!:)@基里尔:-您可以使用TextBox的MaxLength属性来限制用户只输入2位数字。要向用户显示消息,您可以使用TextBox的TextChanged事件。这不会阻止用户复制和粘贴textbu。我如何才能为此添加一些数据?据我所知,此代码只允许输入数字和控制键,但我也希望e一些代码允许只输入0到24之间的用户数字,我可以处理这个事件吗/或者我必须为此编写一些单独的方法吗?@SriramSakthivel:-为了防止用户进行复制和粘贴,您可以将textbox的ShortcutsEnabled属性设置为false。@Kirill:-您不能限制用户只输入数字1,2,3,4,5,6,….24。但您可以限制用户只输入两位数字,然后您可以应用某些检查来检查在文本框中输入的数字是否在0-24之间!!!:)@基里尔:-您可以使用TextBox的MaxLength属性来限制用户只输入2位数字。要向用户显示消息,您可以使用TextBox的TextChanged事件。我已经编辑了您的标题。请参见“”,其中共识是“不,他们不应该”。为什么不让用户输入任何值并报告他无效?我已经编辑了您的标题。请参见“”,其中共识是“不,他们不应该”。为什么不让用户输入任何值并报告其无效?
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
   {
       e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar)
                   && (e.KeyChar >= '0' && e.KeyChar <= '9');
   }