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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2012, 09:59   #1
No_Comments
Пользователь
 
Регистрация: 03.07.2011
Сообщений: 92
Восклицание Проблемы в TextBox C#

Надо, чтобы при вводе символов в текстбокс шла проверка на то, вводятся ли там числа или что-то другое.
Потом полученное число плюсуется к строке (задание - формирование штрих-кода продукта по заданным параметрам).
Проблема: если ввожу число >1 знака, идет посимвольное увеличение цифр.


Код текстбокса:
Код:
 private void textBox1_TextChanged(object sender, EventArgs e)
        {
            string temp2 = ""; ;
            temp2 = textBox1.Text;
            if (temp2.Length != 0)
            {
                try
                {
                    Double.Parse(temp2);
                }
                catch
                {
                    MessageBox.Show("Ошибка! Вы вводите не число!!!");
                    textBox1.Clear();
                }
            }

            temp2 = "1" + temp2 + " ";
            SCode += temp2;
        }

Последний раз редактировалось No_Comments; 10.02.2012 в 10:02.
No_Comments вне форума Ответить с цитированием
Старый 10.02.2012, 13:14   #2
sergei64_89
Форумчанин
 
Регистрация: 20.04.2008
Сообщений: 139
По умолчанию

парсить строку это круто,но всё же событие keypress(вроде так) лучше.
там в параметрах события будет передаваться кнопка которая была нажата
sergei64_89 вне форума Ответить с цитированием
Старый 10.02.2012, 18:12   #3
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

проблему и само задачи не понял, но скорее всего вам надо описать событие validaing в текстбокса.
rUs_LAN вне форума Ответить с цитированием
Старый 11.02.2012, 16:22   #4
Prizrak86
Форумчанин
 
Аватар для Prizrak86
 
Регистрация: 15.10.2011
Сообщений: 139
По умолчанию

я точно не понял задание попробуй заменить
Код:
SCode += temp2;
на
Код:
SCode = temp2;
Программист это не профессия, программист - это образ жизни.
Prizrak86 вне форума Ответить с цитированием
Старый 11.02.2012, 16:36   #5
Prizrak86
Форумчанин
 
Аватар для Prizrak86
 
Регистрация: 15.10.2011
Сообщений: 139
По умолчанию

если фильтровать вводимых данных то сделал бы вот так
Код:
 private void textBox1_TextChanged(object sender, EventArgs e)
        {
            string s="", ss; int x;
            for (int i = 0; i < textBox1.Text.Length; i++)
            {
                ss = textBox1.Text[i].ToString();
                if (int.TryParse(ss, out x)) s += x.ToString();
            }
            textBox1.Text = s;
            label1.Text = s;
        }
Программист это не профессия, программист - это образ жизни.
Prizrak86 вне форума Ответить с цитированием
Старый 11.02.2012, 16:42   #6
Prizrak86
Форумчанин
 
Аватар для Prizrak86
 
Регистрация: 15.10.2011
Сообщений: 139
По умолчанию

Цитата:
Сообщение от Prizrak86 Посмотреть сообщение
Код:
textBox1.Text = s;
если убрать эту строчку то все кроме цифр будет игнорироваться в label но в textBox будут отображаться не только цифры.
Программист это не профессия, программист - это образ жизни.
Prizrak86 вне форума Ответить с цитированием
Старый 11.02.2012, 18:18   #7
Prizrak86
Форумчанин
 
Аватар для Prizrak86
 
Регистрация: 15.10.2011
Сообщений: 139
По умолчанию

Цитата:
Сообщение от Prizrak86 Посмотреть сообщение
если фильтровать вводимых данных то сделал бы вот так
Код:
 private void textBox1_TextChanged(object sender, EventArgs e)
        {
            string s="", ss; int x;
            for (int i = 0; i < textBox1.Text.Length; i++)
            {
                ss = textBox1.Text[i].ToString();
                if (int.TryParse(ss, out x)) s += x.ToString();
            }
            textBox1.Text = s;
            label1.Text = s;
        }
проблема к этому коду, как поставить положение курсора в конец строки textBox???
Программист это не профессия, программист - это образ жизни.
Prizrak86 вне форума Ответить с цитированием
Старый 12.02.2012, 14:21   #8
No_Comments
Пользователь
 
Регистрация: 03.07.2011
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Prizrak86 Посмотреть сообщение
если фильтровать вводимых данных то сделал бы вот так
Код:
 private void textBox1_TextChanged(object sender, EventArgs e)
        {
            string s="", ss; int x;
            for (int i = 0; i < textBox1.Text.Length; i++)
            {
                ss = textBox1.Text[i].ToString();
                if (int.TryParse(ss, out x)) s += x.ToString();
            }
            textBox1.Text = s;
            label1.Text = s;
        }
В коде более-менее все понятно, кроме строчки label1.Text = s;
Зачем метке текст присваивать?
No_Comments вне форума Ответить с цитированием
Старый 12.02.2012, 21:11   #9
Prizrak86
Форумчанин
 
Аватар для Prizrak86
 
Регистрация: 15.10.2011
Сообщений: 139
По умолчанию

Цитата:
Сообщение от No_Comments Посмотреть сообщение
В коде более-менее все понятно, кроме строчки label1.Text = s;
Зачем метке текст присваивать?
это если должен результат ввода куда то дублироваться то так, или воспринимай это как точку отфильтрованного текста с которым можно уже работать.
Программист это не профессия, программист - это образ жизни.
Prizrak86 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с textbox-ами в Visual C# express 2007 Zyxer C# (си шарп) 3 10.12.2010 15:40
С#, проблемы с textBox StudentPolitech Общие вопросы .NET 12 17.09.2010 12:45
textbox NARTZISS Общие вопросы .NET 5 19.12.2009 14:21
TextBox в С# Natok Помощь студентам 2 18.05.2009 17:47