Keypress事件:返回另一个键

时间:2015-03-18 15:06:52

标签: c# textbox keypress

我正在尝试构建一个只允许数字和逗号的文本框,以便让其内容填充访问“数字”列。我使用了按键事件,下面的代码让我接受了数字和点,现在我想设置这个代码来写一个逗号,当点击键(来自小键盘和键盘)

private void "Mytextbox_KeyPress"(object sender, KeyPressEventArgs e)
    {
        char ch = e.KeyChar;
        if (!Char.IsDigit(ch) && ch != 8 /*backspace*/ && ch != 46 /*canc*/ && ch != 13 /* 13=enter*/ )
        {
            e.Handled = true;
      // if ch == 110 (dot) need to return 188 (comma)
    }

1 个答案:

答案 0 :(得分:1)

这就是你所需要的:

private void Mytextbox_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == 46)
        e.KeyChar = (char)44;
}

它将用逗号替换点。不要使用e.Handled,因为这会抑制密钥而不是替换密钥。