C -WinForm-TextBox中只能输入数字的几种常用方法(C )

在C#的WinForm应用程序中,限制TextBox只能输入数字有几种常用的方法。下面将逐一介绍这些方法,并附上相应的代码示例。

方法一:使用KeyPress事件进行过滤

这种方法适用于WinForm中的TextBox控件。在TextBox的KeyPress事件中,使用KeyPressEventArgs中的属性e.KeyChar来判断输入的字符,如果不是数字,则将其吞掉,即不做处理。

```csharp

private void textBox_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsDigit(e.KeyChar) && e.KeyChar != '\b')

{

// 不是数字或退格键,则吞掉该输入

e.Handled = true;

}

}

```

方法二:使用TextChanged事件进行过滤

这种方法同样适用于WinForm中的TextBox控件。在TextBox的TextChanged事件中,使用正则表达式对输入的文本进行匹配,如果不是数字,则将其替换为空字符串。

```csharp

private void textBox_TextChanged(object sender, EventArgs e)

{

TextBox textBox = (TextBox)sender;

string text = textBox.Text;

if (!Regex.IsMatch(text, @"^\d*$"))

{

// 不是数字,则替换为空字符串

textBox.Text = Regex.Replace(text, "[^\\d]", "");

}

}

```

方法三:使用InputMethod属性进行限制

这种方法适用于所有WinForm中的控件。通过设置控件的InputMethod属性为Numeric,可以限制用户只能输入数字。

```csharp

textBox.InputMethod = InputMethods.Numeric;

```

方法四:使用MaskedTextBox控件

MaskedTextBox控件是WinForm中特有的一个控件,通过设置掩码可以限制输入的格式。

```csharp

MaskedTextBox maskedTextBox = new MaskedTextBox();

maskedTextBox.Mask = "9999"; // 只能输入四位数字

```

使用这些方法之一,可以很方便地将WinForm中的TextBox控件限制为只能输入数字。在实际应用中,可以根据需要选择合适的方法进行使用。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(16) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部