Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2015, 10:36   #1
valun91
Пользователь
 
Регистрация: 27.11.2014
Сообщений: 22
По умолчанию Проблемы с TextBox

Задача состоит вот в чем.Нужно фильтровать ввод символов таким образом, что бы если пользователь ввел цифру то все последующие символы можно вводить только цифры, а если ввёл первым символом букву то все последующие можно вводить только буквы, и включить клавишу "Back".

Код:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            bool flag = true;
            bool flag1 = true;            
            
                if (((e.KeyChar >= '0' && e.KeyChar <= '9')&&falg1)||((e.KeyChar==(char) Keys.Back)&&Flag1))
                {
                    e.Handled = false;
                    flag = false;
                }

                if (((e.KeyChar >= 'A' && e.KeyChar <= 'Z')&&flag) || ((e.KeyChar == (char)Keys.Back)&&flag) )
                {
                    e.Handled = false;
                    flag1 = false;
                }
                       

           
        }
Заранее спасибо.
valun91 вне форума Ответить с цитированием
Старый 17.05.2015, 13:01   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Регулярками проверять не хош?:
Код:
private bool checker(string s, string p,char c){
 return  (s!='') && Regex.IsMatch(s[0], p) && Regex.Matches(c, p)
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
           e.Handled=
                (checker(((TextBox)sender).Text,@"\d",e.KeyChar)
           ||
                (checker(((TextBox)sender).Text,@"\w",e.KeyChar)
        }
Если не ошибаюсь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.05.2015, 13:38   #3
valun91
Пользователь
 
Регистрация: 27.11.2014
Сообщений: 22
По умолчанию

Что-то совсем не работает(((
valun91 вне форума Ответить с цитированием
Старый 17.05.2015, 13:50   #4
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

PreviewTextInput в помощь
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 21.05.2015, 10:02   #5
valun91
Пользователь
 
Регистрация: 27.11.2014
Сообщений: 22
По умолчанию

Вот какой выход нашел:
Код:
public bool flag = true;
public bool flag1 = true;
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
                    int i = Convert.ToInt32(e.KeyChar);                                               
                        
            if(textBox1.Text.Length==0)
            {
                flag = true;
               flag1 = true;
            }
       if ((i >= 65 && i <= 90) || (i >= 97 && i <= 122) && flag) 
          {
                            e.Handled = false;
                            flag1 = false;
                            checkBox1.Visible = true;

                        }
                        else
                        {
                            e.Handled = true;
                        }
                        if ((i >= 48 && i <= 57) && flag1)
                        {
                            e.Handled = false;
                            flag = false;
                            checkBox1.Visible = false;
                        }
                        if (e.KeyChar == (char)Keys.Back)
                        {
                            e.Handled = false;
                        }
        }
valun91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с vba (проблемы создания макросов) Leojse Microsoft Office Excel 4 26.12.2013 20:09
Внести данные из Textbox Form2 в TextBox Form1 uralshans Microsoft Office Excel 1 07.01.2013 17:15
Проблемы в TextBox C# No_Comments Помощь студентам 8 12.02.2012 21:11
Проблемы с textbox-ами в Visual C# express 2007 Zyxer C# (си шарп) 3 10.12.2010 15:40
С#, проблемы с textBox StudentPolitech Общие вопросы .NET 12 17.09.2010 12:45