Форум программистов, компьютерный форум CyberForum.ru

Программирование Windows Phone

Войти
Регистрация
Восстановить пароль
 
FenixBSD
0 / 0 / 0
Регистрация: 03.09.2014
Сообщений: 2
#1

Ввод десятичных значений в TextBox - Windows Phone

05.09.2014, 21:37. Просмотров 543. Ответов 1
Метки нет (Все метки)

При вводе в TextBox c InputScope="Number" десятичных дробных значений необходимо ограничить количество символов десятичного разделителя одним и проверить его соответствие NumberFormatInfo.NumberDecimalSeparator. Так же нужно реализовать возможность ввода "0," в случае ввода десятичного разделителя первым символом.
Событие KeyDown позволяет отследить значение Key для нажатой цифровой клавиши, но при нажатии клавиши разделителя возвращается значение Key=Unknown.
Что для этого лучше использовать? Прошу по голове не бить, это мой первый код для WP8.

XML
1
2
3
4
<StackPanel x:Name="ContentPanel">
            <TextBox x:Name="textBox1" KeyDown="OnKeyDownHandler" InputScope="Number" Text="1" TextInput="textBox1_TextInput" TextInputStart="textBox1_TextInputStart" TextInputUpdate="textBox1_TextInputUpdate" TextChanged="textBox1_TextChanged" />
            <TextBlock x:Name="textBlock1" Text="text1" />
        </StackPanel>
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
private void OnKeyDownHandler(object sender, KeyEventArgs e)
        {
            textBlock1.Text = e.Key.ToString();
            switch (e.Key)
            {
                case (Key.Unknown):
                    {
                        if (textBox1.Text.IndexOf(".") == -1)
                        {
                            e.Handled = false;
                        }
                        else
                            e.Handled = true;
                        break;
                    }
                case Key.D0:  
                case Key.D1:
                case Key.D2:
                case Key.D3:
                case Key.D4:
                case Key.D5:
                case Key.D6:
                case Key.D7:
                case Key.D8:
                case Key.D9:
                case Key.Left:
                case Key.Right:
                case Key.Back:
                case Key.Delete:
                // И все те кнопки которые нужны                    
                    e.Handled = false;
                    break;
                default:
                    e.Handled = true;
                    break;
            }
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2014, 21:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ввод десятичных значений в TextBox (Windows Phone):

Как запретить ввод букв в TextBox? - Windows Phone
Добрый день. Пишу свою первую программу (для windows phone), и столкнулся с такой проблемой: нужно ограничить введение в textBox с...

Ошибка в коде: Как запретить ввод букв в TextBox? - Windows Phone
Добрый день. Делаю программу и нужно сделать так, чтобы в TextBox можно вводить только цифры и некоторые буквы, для начала хотел сделать...

Как разрешить ввод в TextBox только десятичных дробей? - C++/CLI WinForms
Здравствуйте! Скажите как сделать чтоб в текстбокс можно было вводить только цифры с десятками типо так 1,0 Добавлено через 18 часов 5...

Ввод значений в Textbox - Visual Basic
Добрый день.Возникла такая проблема:Необходимо ограничить диапазон вводимых значений в TextBox. К примеру 1-5 и чтобы выводилось сообщение...

Ввод значений из TextBox в ListBox - VBA
Всем доброго времени суток! По заданию мне нужно создать форму, в которой записывается строка в TextBox, затем оператором Split она...

Ввод в textBox в зависимости от значений переменных - C#
У меня есть несколько textBox textBox1, textBox2 и textBox3 в textBox1 - вводиться значение a в textBox2- вводиться значение b ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
FenixBSD
0 / 0 / 0
Регистрация: 03.09.2014
Сообщений: 2
09.09.2014, 17:06  [ТС] #2
Правильнее было бы сформулировать вопрос таким образом: Как отследить в TextBox нажатие кнопки десятичного разделителя на клавиатуре InputScope="Number" и отменить ее повторное нажатие?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2014, 17:06
Привет! Вот еще темы с ответами:

Ввод значений в TextBox в верхнем регистре - C#
Как автоматический переводить вводимый пользователем текст в верхний регистр? Обрабатывая событие TextChanged и устанавливая свойство...

Ввод в TextBox только значений Double - Visual Basic
Как мне сделать что бы в текстбокс можно было вводить только цифры и запятую?

Разрешить пользователю ввод только двоичных значений в textbox - C#
Ребят,помогите пожалуйста. Мне надо поставить ограничение на ввод только нулей или 1. Сделал метод в классе Form2: public static bool...

Ввод значений в программу посредством TextBox, а не с помощью ГСЧ - C#
List&lt;List&lt;Point&gt;&gt; Result = new List&lt;List&lt;Point&gt;&gt;(); Вот сюда нужно написать количество кластеров которые мы вводим в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru