Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > TextBox Validation


Автор: Diksa 4.12.2008, 12:41
Ребята как проверить введенное пользователем значение в пекстовое поле и в случаи если оно неправильное запретить передавать фокус другому полю???

Код

private void TBLength_LostFocus(object sender, RoutedEventArgs e)
        {
            if (TBLength.Text == "" || TBLength.Text == null)
                return;
            else
            {
                try
                {
                    model.LandingInput.LaLenght = int.Parse(TBLength.Text);
                }
                catch (CModel.PerformanceException ex)
                {
                    ex.Show();
                }
            }
         }
 
Вот я делаю проверку, а как вернуть фокус, или может я нето событие использую, помогите плиз!!!

Автор: LectorSP 6.12.2008, 15:57
Я бы делал проверку, если я правильно понял логику, значения первого текстого поля, в тот момент когда второе получает фокус... что-то типа этого... : )

Код

private void text2_GotFocus(object sender, RoutedEventArgs e)
        {
            if (String.IsNullOrEmpty(text1.Text))
            {
                text1.Focus();
            }
                
        }

Автор: Diksa 8.12.2008, 13:32
LectorSP, впринципи наверно можно былобы сделать и так но я сделал по другому просто использую другой  обработчик вместо LostFocus использую LostKeyboardFocus и в конце добавляю если не верно значение TextBox.Focus(); чтоб нельзябыло перейти на другой элемент пока не введет правильное значение 
ЗЫ LectorSP и навенро всетаки так как ты написал не получится потому что на форме много разных элементов и это у каждого надо описывать одну и туже проверку, потому что фокус может переходить на разные элементы smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)