如何接受'("和")"仅限数字接受的文本框

时间:2014-07-30 04:54:56

标签: c# winforms textbox

我有一个只接受数字的字段,但我想要另一个字段(传真)的相同功能,其中示例值看起来像(070)412 34 56。

如何修改我当前的功能,所以它也接受“(”和“)”?

这是当前代码,我必须检查数字

char ch = e.KeyChar;
if (!Char.IsDigit(ch) && ch != 8 && ch != 46)
{
    e.Handled = true;
}

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

1 个答案:

答案 0 :(得分:3)

一种可能性:

将每个允许的字符放在一个字符串中,看看输入的字符是否存在。

e.Handled = "0123456789()".IndexOf(e.KeyChar) < 0;

string.IndexOf返回给定char的索引 如果找不到该字符,则返回-1。