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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2014, 20:46   #1
Gnaqeaz
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 12
Сообщение Дополнение combobox с заданием значения. C#

Доброе время суток.
Помогите пожалуйста! Как сделать так чтобы при создании нового итема задать ему значение. Например "Огурец" и его значение цена 190, "Помидор" цена 250 и тд. И как дальше это значение вставлять в формулу?
Пример: Помидор*Штук(из tb) = Итого(в tb).
Посоветуйте, пожалуйста ,книгу какую книгу можно взять для изучения?
Сейчас читаю Шилдт, но там я подобного ничего не нашел.
Gnaqeaz вне форума Ответить с цитированием
Старый 18.10.2014, 09:34   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
Посоветуйте, пожалуйста ,книгу какую книгу можно взять для изучения?
Сейчас читаю Шилдт, но там я подобного ничего не нашел.
А вы ожидали, что по каждому пустяковому вопросу в книжке будет глава на 50 страниц с подробнейшим изложением что и как делать? В книжке описаны основные приемы для работы с языком. Комбинируя их вы добьетесь результата.
Я бы сделал так
Код:
//структура для описания типа "Овощ"
struct Vegetables
        {
            public string Name;
            public float Price;

            public Vegetables(string name, float price)
            {
                this.Name = name;
                this.Price = price;
            }
            
        }
//список всех добавленных овощей
List<Vegetables> vegetableList = new List<Vegetables>();

//Создаем новый овощ и добавляем его в ComboBox
vegetableList.Add(new Vegetables("помидор", 20.00f));
comboBox1.Items.Add(vegetableList[vegetableList.Count -1].Name);

//вычисление стоимости
if (comboBox1.SelectedIndex != -1 && AmountTB.Text != "")
            {
                totalTB.Text = (vegetableList[comboBox1.SelectedIndex].Price *   Convert.ToInt32(AmountTB.Text)).ToString();
            }
Но это так... В качестве примера.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681

Последний раз редактировалось GetMax; 18.10.2014 в 09:38.
GetMax вне форума Ответить с цитированием
Старый 22.10.2014, 03:19   #3
Gnaqeaz
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 12
По умолчанию

Спасибо, не могли бы вы пояснить еще эту строчку
c
Код:
omboBox1.Items.Add(vegetableList[vegetableList.Count -1].Name);
Как я понял Count отвечает за размер листа, или я не прав?
Gnaqeaz вне форума Ответить с цитированием
Старый 22.10.2014, 07:24   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
//Создаем новый овощ и добавляем его в ComboBox
vegetableList.Add(new Vegetables("помидор", 20.00f));
comboBox1.Items.Add(vegetableList[vegetableList.Count -1].Name);
Новый овощ помещается в конец списка vegetableList. Поэтому чтоб достать его наименование нужно обратиться к последнему элементу списка, что и делает [vegetableList.Count -1] имея ввиду "взять последний элемент".
Цитата:
Как я понял Count отвечает за размер листа, или я не прав?
Не за размер, а за количество (а в прочем одно и тоже как правило). А поскольку нумерация начинается с нуля, приходится писать -1. Дурость, но приходится.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.10.2014, 05:36   #5
Gnaqeaz
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
... Не за размер, а за количество (а в прочем одно и тоже как правило). А поскольку нумерация начинается с нуля, приходится писать -1. Дурость, но приходится.
Спасибо за помощь!
Gnaqeaz вне форума Ответить с цитированием
Старый 31.10.2014, 13:57   #6
Gnaqeaz
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 12
По умолчанию Заполнение combobox из файла.

Не могу понять в чем ошибка? Заранее спасибо.

Код:
private void Form1_Load(object sender, EventArgs e)//все происходит при загрузке формы.
        {
            addCB.Owner = this;//задали владельца форму1
            
            
            //открываю файл
            StreamReader @ФайлЗначений = new StreamReader(readPath);
            List<RO> rolist = new List<RO>();
            while (!ФайлЗначений.EndOfStream)//читаем пока файл не закончится
            {
                string str = ФайлЗначений.ReadLine();//переменная для линии из файла
                //Создаю массив разделителей хотя это не нужно но для практики...
                string[] split = str.Split(new Char[] { '|', ';', '_', '.', });
//добавляю построчно в лист
                rolist.Add(new RO(split[0],Convert.ToDouble(split[1])));
//вывожу последний тем в листе в cb
                comboBox1.Items.Add(rolist[rolist.Count - 1].Name);
                
             }            
            ФайлЗначений.Close();//закрыл файл.
        }
Gnaqeaz вне форума Ответить с цитированием
Старый 31.10.2014, 14:20   #7
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

И правда, где ошибка-то?
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 31.10.2014, 14:45   #8
Gnaqeaz
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
И правда, где ошибка-то?
Я не знаю но cb пустой, хотя ни 1 ошибки VS не находит...Что я делаю не так? Но вот такая штука, при попытке дописать файл, вылетает ошибка: "Процесс не может получить доступ к файлу "E:...", так как этот файл используется другим процессом."

Как можно создать отдельную папку в почтовом ящике? Через IdPOP3 это возможно реализовать?

Данная строка имеет не верный формат.
Код:
rolist.Add(new RO(split[0],Convert.ToDouble(split[1])));

Последний раз редактировалось Stilet; 01.11.2014 в 19:07.
Gnaqeaz вне форума Ответить с цитированием
Старый 01.11.2014, 19:10   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Процесс не может получить доступ к файлу "E:...", так как этот файл используется другим процессом."
Так может так оно и есть? Файл заблокирован чем-то?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.11.2014, 20:55   #10
Gnaqeaz
Пользователь
 
Регистрация: 17.10.2014
Сообщений: 12
По умолчанию

Переписал код:
Код:
List<RO> rolist = new List<RO>();
            using (StreamReader @ФайлЗначений = File.OpenText(readPath))//поток для чтения
            {
                string line = ФайлЗначений.ReadLine();//переменная для сохранения линии из файла

                while (line != null)//читаем пока файл не закончится
                {
                    //Создаю массив разделителей
                   string[] split = line.Split('|');
                     rolist.Add(new RO((split[0]).ToString(), Convert.ToDouble(split[1])));
                     comboBox1.Items.Add(rolist[rolist.Count - 1].Name);
                    line = ФайлЗначений.ReadLine();//читает следующую строчку
                }
                ФайлЗначений.Close();
            }
Сам толком не понял в чем была проблема, мб в массиве символов для разделения. То есть он делил строку на "3"(например) переменные. Убрал кол-во разделителей до 1. Щас все работает. Приду попозже подумаю что было не так.
Gnaqeaz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
значения столбца в combobox shalun43911 Компоненты Delphi 2 04.05.2014 19:53
enum class, проблема с заданием значения _-Re@l-_ Общие вопросы C/C++ 4 09.08.2011 18:56
Выбор значения ComboBox skafiend Microsoft Office Access 1 17.05.2011 11:07
повторяющиеся значения в combobox ondar Microsoft Office Excel 5 07.10.2010 17:47
добавление кнопки для определения максимального значения в столбце (дополнение к готовой работе)) Cesmir Помощь студентам 10 11.01.2009 16:10