Тип .поставленный, - PullRequest
       6

Тип .поставленный,

0 голосов
/ 25 февраля 2012

У меня есть текстовое поле, в которое я хочу ввести . вместо ,.

if (e.KeyCode == Keys.Oemcomma) tbPrecio.Text = tbPrecio.Text.Split(',')[0]+".";

Но это не работает должным образом.

Ответы [ 3 ]

3 голосов
/ 25 февраля 2012

Просто измените ваш метод обработчика на:

private void tbPrecio_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Oemcomma)
    {
        tbPrecio.AppendText(".");
        e.SuppressKeyPress = true;
    }
}

Я думаю, что ключевое дополнение здесь - SuppressKeyPress.

1 голос
/ 25 февраля 2012

Это ситуация, когда вы могли бы использовать вместо этого маскированный ввод?

http://digitalbush.com/projects/masked-input-plugin/

Автоматическая замена персонажей приводит некоторых в замешательство.

0 голосов
/ 25 февраля 2012

попробуйте этот код

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's Logic, так как это оптимально

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...