我正在尝试构建一个只允许数字和逗号的文本框,以便让其内容填充访问“数字”列。我使用了按键事件,下面的代码让我接受了数字和点,现在我想设置这个代码来写一个逗号,当点击键(来自小键盘和键盘)
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)
}
答案 0 :(得分:1)
这就是你所需要的:
private void Mytextbox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 46)
e.KeyChar = (char)44;
}
它将用逗号替换点。不要使用e.Handled
,因为这会抑制密钥而不是替换密钥。