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

Вывод элементов из listbox в textbox

28.09.2018, 16:30. Показов 10440. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите, как можно выводить по нажатию на кнопку элементы из listbox в textbox последовательно от 1 к последнему и чтобы можно было назад делать также.
В listbox я загружаю алгоритмы типо такого формата - R U R' U'
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.09.2018, 16:30
Ответы с готовыми решениями:

Вывод текста в TextBox при нажатии на один из элементов ListBox
Доброго времени суток! Смотрите: У меня в ListBox есть 3 элемента (Яблоко, Груша, Персик). Мне нужно сделать так, чтобы когда я кликаю...

Вывод записи из ListBox в TextBox
Подскажите пожалуйста как решить вот такую задачу, дан ListBox в нем уже забиты данные, необходимо найти одну только нужную строку в списке...

Вывод из ListBox ссылки в TextBox
Добрый день, нужна помощь с получением данных из ListBox в переменную, но в самом ListBox их не отображать. Есть вот такой метод в...

17
 Аватар для alexeu121
2 / 1 / 2
Регистрация: 24.12.2013
Сообщений: 62
28.09.2018, 16:53
Добрый день. Если ваш listbox содержит набор данных, то можно в событии нажатия кнопки прописать цикл. Который при каждом нажатии будет перебирать элементы listbox и выводить их.

C#
1
2
3
4
5
6
7
button1_Click()
{
       for(int i = 0; i < listBox1.Items.Count; i++)
       {
              textBox1.Text = listBox1.Items[i].ToString();
       }
}
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16150 / 11271 / 2890
Регистрация: 21.04.2018
Сообщений: 33,142
Записей в блоге: 2
28.09.2018, 16:54
Цитата Сообщение от soberfrog Посмотреть сообщение
на кнопку элементы из listbox в textbox последовательно от 1 к последнему и чтобы можно было назад делать также.
если правильно понял - считываете ListBoxItem преобразуете в строки текста и пишите в TextBox.
Так же обратно создаёте из строк TextBox список строк и устанавливаете ссылку ItemsSouce на этот список.
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
28.09.2018, 17:17
soberfrog, А почему не заполнять textbox от туда, откуда заполняется Listbox ?
0
1 / 1 / 0
Регистрация: 03.12.2015
Сообщений: 126
28.09.2018, 18:22  [ТС]
Не работает, он просто первый элемент выводит и последующие нет при нажатии на кнопку

Добавлено через 7 минут
Не получается так, он просто первый элемент выводит
C#
1
2
3
4
5
 for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    textBox1.Text = listBox1.Items[i].ToString();
                
                }
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
28.09.2018, 18:33
soberfrog, Заполнить его легко,
C#
1
2
  listBox1.Items.Cast<String>().ToList()
                .ForEach(x => textBox1.AppendText(x + " "));
Спрошу еще раз. Зачем ? Откуда элементы в ListBox попадают ?
0
1 / 1 / 0
Регистрация: 03.12.2015
Сообщений: 126
28.09.2018, 18:39  [ТС]
Я загружаю их из текстового файла, затем мне нужно чтобы по нажатию на кнопку они выводились последовательно в текст бокс

Добавлено через 1 минуту
то что Вы отправили, заполняет текст бокс сразу всеми строками, а нужно последовательно по одной, например нажал btn вышла 1 строка, нажал еще раз btn вышла 2 строка и тд
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
28.09.2018, 19:01
soberfrog, Вы бы больше кода показали, было бы проще вам помочь. Добавлять по одному можно так:
C#
1
2
3
4
var items = listBox1.Items.Cast<String>().ToList();
            
            textBox1.AppendText(items.ElementAt(i));
            i++;
Предварительно определив в классе
C#
1
int i = 0;
0
1 / 1 / 0
Регистрация: 03.12.2015
Сообщений: 126
28.09.2018, 19:35  [ТС]
Вот посмотрите код, сейчас все работает, но когда последний элемент заканчивается, то выходит ошибка, можно как то сделать, чтобы он сначала начал или хотябы вывел сообщение, что список закончился
Вложения
Тип файла: rar TreningAlg.rar (169.6 Кб, 22 просмотров)
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
28.09.2018, 19:41
soberfrog,
C#
1
2
3
4
5
6
7
8
9
if (i >= 0 && i < items.Count)
            {
                textBox1.AppendText(items.ElementAt(i));
                i++;
            }
            else
            {
                MessageBox.Show("Элементы кончились");
            }
0
1 / 1 / 0
Регистрация: 03.12.2015
Сообщений: 126
28.09.2018, 19:45  [ТС]
Ооо круто, спасибо огромное))) А еще подскажите, можно сделать повтор, то после сообщения "элементы закончились" начать список заного
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
28.09.2018, 19:48
soberfrog, После MessageBox добавить
C#
1
2
textBox1.Clear();
i = 0;
1
1 / 1 / 0
Регистрация: 03.12.2015
Сообщений: 126
28.09.2018, 20:01  [ТС]
Смотрите, мои алгоритмы выглядт следующим образом
R U R' U2 R U' R' U : (U' R U R') U2 (R U' R')
то что до двоеточия это привод к ситуации на кубике рубика, а то что после это решение приведенной ситуации, нужно чтобы то, что перед двоеточием выводилось в textbox1, а то что после в textbox2. Я пробовал написать так, но выводится только первая строка разделено, а следующие вообще не выводятся, textbox3 я содал для того чтобы из него брать отдельное значение и делить на части по двоеточию, textbox3 изначально будет скрыт
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
30
31
32
33
 private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Clear();
 
            if (listBox1.Items.Count == 0)
            {
                MessageBox.Show("Сначала выбери сетапы!");
            }
            else
            {
                var items = listBox1.Items.Cast<String>().ToList();
                if (i >= 0 && i < items.Count)
                {
                    textBox3.AppendText(items.ElementAt(i));
                    i++;
                }
                else
                {
                    MessageBox.Show("Алгоритмы закончились");
                    i = 0;
                }
                for (int i = 0; i < textBox3.Lines.Length; i++)
                {
                    //Алгоритм
                    textBox1.Text += textBox3.Lines[i].Split(':')[0] + Environment.NewLine;
                    //Подсказка
                    textBox2.Text += textBox3.Lines[i].Split(':')[1] + Environment.NewLine;
                }
            }
 
 
           
        }
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
28.09.2018, 20:12
soberfrog, Тогда зачем вам вообще третий текстбокс ? Создайте лист, добавляйте в него значения.
0
1 / 1 / 0
Регистрация: 03.12.2015
Сообщений: 126
28.09.2018, 20:25  [ТС]
и как это сделать?
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
28.09.2018, 20:33
soberfrog,
C#
1
2
3
4
5
6
7
 
List<string> myList = new List<string>();
if (i >= 0 && i < items.Count)
                {
                    myList.Add(items.ElementAt(i));
                    i++;
                }
0
1 / 1 / 0
Регистрация: 03.12.2015
Сообщений: 126
28.09.2018, 20:36  [ТС]
я при загрузке их сюда буду записывать, или зачем это вообще? одни ошибки и не работает

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 var items = listBox1.Items.Cast<String>().ToList();
 
 
                List<string> myList = new List<string>();
                if (i >= 0 && i < items.Count)
                {
                    
                    textBox1.AppendText(items.ElementAt(i));
                   
                        myList.Add(items.ElementAt(i));
                        //Алгоритм
                        textBox1.Text += myList.Lines[i].Split(':')[0] + Environment.NewLine;
                        //Подсказка
                        textBox2.Text += myList.Lines[i].Split(':')[1] + Environment.NewLine;
                
                    i++;
                }
                else
                {
                    MessageBox.Show("Алгоритмы закончились");
                    i = 0;
                }
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
28.09.2018, 20:55
Цитата Сообщение от soberfrog Посмотреть сообщение
зачем это вообще?
Затем, что контролы для отображения данных, а не для манипуляции с ними.
Архитектура ПО в WinForms (FAQ & HowTo)
Когда вы поймете это и начнете разделять код на модель данных и интерфейс приложения. Многое для вас станет очевидным.
Цитата Сообщение от soberfrog Посмотреть сообщение
одни ошибки и не работает
Конечно не работает. Для List нет метода Lines.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.09.2018, 20:55
Помогаю со студенческими работами здесь

Ввод массивов через множество textBox, подсчёт суммы, и вывод через listBox. Ошибка при вводе через textBox
Создал я кучу текст боксов, там происходит ввод каждого элемента массива. И вывод через листбокс По идее должен...

Вывод случайной строчки из listBox в textBox
На форме имеется кнопка по нажатию которой выбирается текстовый фаил, содержимое txt построчно выводится в listBox. По нажатию второй...

Вывод значения из ListBox в TextBox VBA
Имеется два ListBox-а. Необходимо при выборе значения первой строки в ListBox1, вывести в TextBox1 значение первой строки из ListBox2, при...

Вывод данных из listbox в textbox по отдельности
Нужно сделать чтобы выбранные данные в listbox выводились в разных textbox

Вывод на печать из textbox(listbox,richtextbox )
Приветствую. Скажите можно ли как сделать вывод на печать текста из textbox(listbox,richtextbox ), облазил интернет толкового нечего не...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru