Контроль ввода пользователя в текстовые поля - PullRequest
0 голосов
/ 26 ноября 2009

Ищите способ управления вводом пользователя в текстовых полях. то есть одно поле может быть двойным, одна строка поля, одно поле int. Есть ли библиотека, которую я могу использовать, чтобы позаботиться об этом для меня?

Использование: Vs 2008, C #, WPF

Ответы [ 3 ]

1 голос
/ 26 ноября 2009

int.TryParse ()

Намного проще !!

0 голосов
/ 26 ноября 2009

Можно использовать событие Validate текстового поля, чтобы установить делегат проверки, который гарантирует, что в окне есть допустимый текст:

textbox1.Validate += delegate(sender, eventArguments)
                     {
                         double val;
                         if (!int.TryParse(textbox1.Text, out val)
                         {
                             eventArguments.Cancel = true;
                         }
                     }

Однако событие Validate не вызывается до тех пор, пока рассматриваемый элемент управления не потеряет фокус, что может не обеспечить требуемый пользовательский опыт, т. Е. Пользователь сможет ввести недопустимое значение, и не будет, пока они не попытаются оставить контроль, что текст будет проверен. Если вы действительно хотите предотвратить ввод недопустимых символов или значений, вам может потребоваться перехватить событие TextChanged и проверять текст на каждом шаге.

Если вы решите реагировать на TextChanged, учтите, что промежуточные значения могут не анализироваться с требуемым типом - например, если текстовое поле ограничено датой, а пользователь пытается ввести '26 / 11/2009 ', то после первого символа, который не является действительной датой, будет текст "2".

0 голосов
/ 26 ноября 2009

Вы можете попробовать использовать регулярные выражения в текстовых полях, чтобы ограничить / проверить ввод пользователя ...

http://msdn.microsoft.com/en-us/library/ms998267.aspx

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