在文本框中过滤键盘输入,C#

时间:2009-06-24 07:25:07

标签: c# winforms c#-3.0 c#-4.0

我想根据我允许的输入类型将键盘输入过滤到文本框中。 e.g。

0仅适用于数字 1仅限字母表 2为字母数字

因此,如果配置了0并且键盘上按下了字符“a”,则它不会显示在文本框中。我如何在C#中做到这一点?

由于

3 个答案:

答案 0 :(得分:4)

我不确定我是否正确理解了您的问题,但您可以使用masked text box创建多种类型的输入过滤器。

答案 1 :(得分:2)

您需要订阅控件的KeyPress事件(以及可选的KeyDown方法),如果必须使用键击,请将 Handled 属性设置为true。阅读msdn中的更多内容(包含问题的示例)。

答案 2 :(得分:0)

您可以使用正则表达式。根据您获得的用户输入,您可以更改正则表达式/验证方法。 下面是一篇文章,解释了如何扩展文本框以验证正则表达式。希望有助于至少有一些想法。 http://www.c-sharpcorner.com/UploadFile/scottlysle/RegExTextBox01022007150131PM/RegExTextBox.aspx