Создание текстового поля для цифровых значений - C#
Формулировка задачи:
Visual C#. Проект для Smart device (Windows CE)
Нужно создать пользовательский элемент управления, производный от TextBox, так что он будет принимать только числовой ввод. Взял пример отсюда: http://msdn.microsoft.com/ru-ru/libr...code-snippet-1. Зашибись. Дальше надо сделать, чтобы после ввода первой цифры автоматически добавлялась десятичная точка. Сделал так:
Точка добавляется, но курсор остается перед ней. Теперь надо передвинуть курсор в конец, чтобы вводить следующие цифры, например, так:
И тут начинается лажа. Десятичная точка перемещается на первую позицию, а цифра становится после нее. Как это побороть?
protected override void OnKeyPress(KeyPressEventArgs e)
{
if (Char.IsDigit(e.KeyChar))
{ // Digits are OK
if (this.Text.Length == 0)
{
this.Text += decimalSeparator;
}
}
}this.SelectionStart = 2; this.SelectionLength = 0;
Решение задачи: «Создание текстового поля для цифровых значений»
textual
Листинг программы
else e.Handled = true;