Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 23.02.2016
Сообщений: 40
1

Запись элемента list<> в textbox

01.06.2016, 11:21. Показов 3540. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Запсываю из файла информацию в коллекцию, а потом из коллекции вывожу в текстбокс.
Проблема в том,что выводится только последние записанные строки в файле для Bird и для Fish. А мне нужны все записи для рыб и для птиц вывести в текстбокс.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
        private void button5_Click(object sender, EventArgs e)
        {
            FileStream aFile = new FileStream("Anna.txt", FileMode.Open);
            StreamReader sw = new StreamReader(aFile);
 
            while (!sw.EndOfStream)
            {
                string str;
                str = sw.ReadLine();
                string[] words = str.Split(new char[] { ' ' });
 
                if (words[0] == "Bird")
                {
                    Global.animals_list.Add(new Bird(Convert.ToString(words[2]), Convert.ToString(words[4])));//добавление птицы из файла в коллекцию                 
                    foreach (Animals aAnimals in Global.animals_list)//запись из коллекции в текст бокс
                          {
                              textBox7.Text = (aAnimals.getOpen());         
                          }
                }
                else
                {
                    Global.animals_list.Add(new Fish(Convert.ToString(words[2]), Convert.ToString(words[4])));//добавление рыбы из файла в коллекцию
                    foreach (Animals aAnimals in Global.animals_list)//запись из коллекции в текст бокс
                    {
                        textBox6.Text = (aAnimals.getOpen());
                    }
                }
 
            }
Пробовал написать так:
C#
1
 textBox7.Text += (aAnimals.getOpen());
Но тогда он всех в кучу выводит и рыб, и птиц.

getOpen() выглядит так для рыб:
C#
1
2
3
4
 public override string getOpen()
       {
           return " "+ nameFish + " " + "-"+" " + type + " ";
       }
для птиц:
C#
1
2
3
4
  public override string getOpen()
        {
            return " "+nameBird + " " + "-"+" " + RelatedToTheHop + " ";           
        }
Помогите пожалуйста разобраться.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2016, 11:21
Ответы с готовыми решениями:

Отображение в listBox поля элемента из коллекции коллекций List<List<>>
Есть карта в pictureBox-е. На ней мышкой ставяться флажки(маркеры). Нужно хранить их в БД с...

Из List в TextBox
Есть List, в котором записываются все нарисованные на PictureBox фигуры. Нужно, чтобы при введении...

Строки textBox передать в List<>
Добрый день, подскажите пожалуйста как решить следующее: на форме есть textBox и заполнен допустим...

TextBox. Считать данные в List<T>
Доскажите как я могу считать данные с TextBox в List&lt;&gt; Есть такая форма... Хочу ввести данные...

7
157 / 156 / 104
Регистрация: 01.10.2015
Сообщений: 310
01.06.2016, 11:28 2
Sovok999, какое-то противоречие...
Цитата Сообщение от Sovok999 Посмотреть сообщение
мне нужны все записи для рыб и для птиц вывести в текстбокс
Цитата Сообщение от Sovok999 Посмотреть сообщение
Но тогда он всех в кучу выводит и рыб, и птиц
А что Вам тогда нужно? Объясните подробнее.
0
0 / 0 / 0
Регистрация: 23.02.2016
Сообщений: 40
01.06.2016, 12:41  [ТС] 3
мне нужно
в textBox7 вывести всех птиц из коллекции.
в textBox6 вывести всех рыб из коллекции.
таким способом выводятся только последние записи из коллекции, но выводятся правильно каждая в свой тектбокс.
C#
1
textBox7.Text = (aAnimals.getOpen());
А мне нужно все вывести, но рыб в текстбокс для рыб, а птиц в текстбокс для птиц.
0
0 / 0 / 0
Регистрация: 23.02.2016
Сообщений: 40
01.06.2016, 12:51  [ТС] 4
Вот на картинке скрин файла,в котором храниться информация о животном.
В моем случае в textBox7 выведет только петуха, а в textBox6 выведет только тунца(т.е последние записи в файле). А нужно ,чтобы в textBox7 вывел петуха,синицу и голубя. А в textBox6 тунца,окуня и форель.
Изображения
 
0
52 / 39 / 29
Регистрация: 08.04.2016
Сообщений: 126
01.06.2016, 12:59 5
Sovok999,

Если вы пишите так

C#
1
textBox7.Text += aAnimals.getOpen();
и получаете в textBox7 птиц и рыб вместе, значит в aAnimals у Вас вместе и птицы и рыбы.

Если написать вот так:

C#
1
textBox6.Text += aAnimals.getOpen();
в textBox6 тоже будут рыбы и птицы вместе? Если да, значит в обоих случаях при добавлении объектов в Global.animals_list включаются как птицы, так и рыбы.
0
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
01.06.2016, 13:20 6
Лучший ответ Сообщение было отмечено Sovok999 как решение

Решение

Sovok999,
Добавление:
C#
1
2
3
4
5
6
7
8
9
10
11
12
if (words[0] == "Bird")
{
    Bird bird = new Bird(Convert.ToString(words[2]), Convert.ToString(words[4]));
    Global.animals_list.Add(bird);//добавление птицы из файла в коллекцию                 
    textBox7.Text += bird.getOpen();
}
else
{
    Fish fish = new Fish(Convert.ToString(words[2]), Convert.ToString(words[4]));
    Global.animals_list.Add(fish);//добавление рыбы из файла в коллекцию
    textBox6.Text += fish.getOpen();
}
getOpen:
C#
1
2
3
4
public override string getOpen()
{
    return " " + nameFish + " " + "-" + " " + type + " " + Environment.NewLine;
}
1
1 / 1 / 0
Регистрация: 01.06.2016
Сообщений: 35
01.06.2016, 13:30 7
Возможно, проблема в том, что текстбокс не настроен на мультилайн. Перейдите в форму, выделите текстбокс. В правом углу текстбокса будет стрелочка. Нажмите на нее и поставте галочку на MultiLine. Должно сработать.
0
0 / 0 / 0
Регистрация: 23.02.2016
Сообщений: 40
01.06.2016, 15:27  [ТС] 8
Не сработало, к сожалению с multiline

Добавлено через 3 минуты
Цитата Сообщение от Даценд Посмотреть сообщение
Sovok999,
Добавление:
C#
1
2
3
4
5
6
7
8
9
10
11
12
if (words[0] == "Bird")
{
    Bird bird = new Bird(Convert.ToString(words[2]), Convert.ToString(words[4]));
    Global.animals_list.Add(bird);//добавление птицы из файла в коллекцию                 
    textBox7.Text += bird.getOpen();
}
else
{
    Fish fish = new Fish(Convert.ToString(words[2]), Convert.ToString(words[4]));
    Global.animals_list.Add(fish);//добавление рыбы из файла в коллекцию
    textBox6.Text += fish.getOpen();
}
getOpen:
C#
1
2
3
4
public override string getOpen()
{
    return " " + nameFish + " " + "-" + " " + type + " " + Environment.NewLine;
}
Спасибо, заработало
0
01.06.2016, 15:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2016, 15:27
Помогаю со студенческими работами здесь

Вывод списка List в textbox
Не могу вывести элементы List в Textbox. Хотя может и другое что-то напортачил. Через обычный...

Создание и удаление элементов List<TextBox>
Помогите разобраться! Из прочитанного мною в msdn, не понял как решить мою задачу. Я динамически...

Загрузка большого List<string> в textbox
В List&lt;string&gt; 50000+ строк. Когда пытаюсь загрузить все содержимое List в textbox программа...

Получить List<double> и вывести в textbox-ы
Здравствуйте. При нажатии кнопки вычислить нужно List&lt;double&gt; получить значения x1,x2,x3 в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru