我有一个文本框,我希望在其中输入.
而不是,
。
if (e.KeyCode == Keys.Oemcomma) tbPrecio.Text = tbPrecio.Text.Split(',')[0]+".";
但它无法正常工作。
答案 0 :(得分:3)
只需将处理程序方法更改为:
private void tbPrecio_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Oemcomma)
{
tbPrecio.AppendText(".");
e.SuppressKeyPress = true;
}
}
我认为这里的关键词是SuppressKeyPress
。
答案 1 :(得分:1)
答案 2 :(得分:0)
试试这段代码
private void tbPrecio_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Oemcomma)
tbPrecio.Text = tbPrecio.Text.Replace(',','.');
tbPrecio.Select(tbPrecio.Text.Length, 0);
}
但是使用@Jason的逻辑作为最佳