Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реакция на изменение текста 
:(
    Опции темы
Abbath1349
Дата 10.3.2011, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



У меня такая проблема программа выполняет операции с цифрами вводимыми в текстбокс, но когда изменяю текст он работает только с новыми числами. Как мне этого избежать? возможно ли убрать стирание строки в другое место?

Код

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int digit_summ,adddigits;
        string numbers;
        private void button1_Click(object sender, EventArgs e)
        {
            label1.Text = "quantity numbers are: "+digit_summ.ToString()+
                "\nNumbers: "+numbers+"\nsumm numbers is "+adddigits;
          
            digit_summ = 0;
            numbers = "";
            //textBox1.Text = "";
            adddigits = 0;
        }

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
 
            if (Char.IsDigit(e.KeyChar))
            {
                digit_summ++;
                numbers += e.KeyChar;
                string st= e.KeyChar.ToString();
                adddigits += Convert.ToInt32(st);
             
            }
        }


Это сообщение отредактировал(а) Abbath1349 - 10.3.2011, 20:15
PM MAIL   Вверх
Экскалупатор
Дата 10.3.2011, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



Код

string st= e.KeyChar.ToString();
                adddigits += Convert.ToInt32(st);


ты каждый раз заново создаешь строку и передаешь ее куда то, возможно от этого все проблемы, если тебе надо хранить все числа сделай коллекцию/список который будет это делать.
PM MAIL ICQ   Вверх
Abbath1349
Дата 11.3.2011, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



А поподробнее? я не совсем понял.
PM MAIL   Вверх
Экскалупатор
Дата 11.3.2011, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



что именно не понятно? опиши задачу нормально тогда будем смотреть как решать
PM MAIL ICQ   Вверх
Abbath1349
Дата 12.3.2011, 07:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



Цитата(Экскалупатор @  11.3.2011,  22:27 Найти цитируемый пост)
что именно не понятно? опиши задачу нормально тогда будем смотреть как решать 

Да задача в выполнении операции с числами вводимых в textbox непонятно как там коллецией/списком сделать
PM MAIL   Вверх
Экскалупатор
Дата 12.3.2011, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



не знаю что там у тебя написано, но в общем виде должно быть что то вроде этого:
создаешь коллекцию/список/массив
по событию добавляешь в него новый элемент, тот что ввел пользователь, при этом естественно что все что было введено раньше сохранится
потом обрабатываешь эту коллекцию.

Цитата(Abbath1349 @  10.3.2011,  19:14 Найти цитируемый пост)
               
 numbers += e.KeyChar;
                string st= e.KeyChar.ToString();
                adddigits += Convert.ToInt32(st);

из твоего кода можно предположить что для хранения того что ввел пользователь у тебя используется numbers. но почему строка? вот это лучше заменить на какой нибудь List<T>(ну или хотя бы на StringBuilder), потом, я не знаю что делает метод adddigit, но ты всегда передаешь в него только последнее введенное значение. я так понимаю что тебе нужно использовать не числа а цифры(2, 5, 6, 7 - это цифры, а 44, 20, 10, 29, 100, etc - это числа), потому что в метод ты передаешь только  e.KeyChar, т.е. только то что нажал пользователь последним. какая задача у тебя стоит, можешь четко сформулировать что должно происходить?
PM MAIL ICQ   Вверх
Abbath1349
Дата 12.3.2011, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



user posted image
Ну воощем на форме в textbox вводятся данные пользователем неважно числа текст или вперемешку при нажатии на кнопку ок в label1 Выводится количество чисел, числа, их сумма (adddigits),и максимальное число из введённых.
PM MAIL   Вверх
Экскалупатор
Дата 12.3.2011, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



Abbath1349, ээээ, мой моск сча взорвется, зачем тебе тогда событие textBox1_KeyPress? по нажатию на кнопку бери строку которая получается в текстбоксе и считай все что тебе надо, зачем усложнять себе жизнь?
PM MAIL ICQ   Вверх
Abbath1349
Дата 13.3.2011, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



А хз я щас так и сделал уже)))Просто первое в голову пришло keypress.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0788 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.