Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
1

Выделенные элменты listBox добавить в другой в одну строку

09.09.2011, 16:19. Показов 2551. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
возможно ли выделенные Item'ы из одного листбокса добавить в другой листбокс и все в одну строку?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.09.2011, 16:19
Ответы с готовыми решениями:

Сложить одну строку в одной табл с другой строкой в другой
Здравствуйте. Подскажите с запросом пожалуйста.Просто не могу понять как это реализовать. Есть...

Копировать выделенные строки из listbox в listbox с большим кол-вом колонок
Добрый день всем. Такая проблема. Пытаюсь из listbox одной формы скопировать выделенные строки в...

Из textbox в listbox в одну строку
Добрый вечер,форумчане.Не подскажите как сделать так,чтобы текст,который я добавляю в листбокс из...

Вставка ссылок на выделенные ячейки в выделенные ячейки другой книги
Очень прошу помочь в решении такой задачи: Так как , единственное что усвоила из информатики...

21
15 / 12 / 4
Регистрация: 03.02.2011
Сообщений: 96
09.09.2011, 16:39 2
возможно. Создай буфер в который ты будешь отправлять Item'ы первого листбокса, а затем запихать во второй как тебе надо.
0
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
09.09.2011, 16:43  [ТС] 3
можешь показать? а то замучился уже
0
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
09.09.2011, 16:57 4
Цитата Сообщение от Marych Посмотреть сообщение
возможно ли выделенные Item'ы из одного листбокса добавить в другой листбокс
C#
1
listbox2.SelectionMode = SelectionMode.MultiExtended;
C#
1
listBox1.Items.AddRange(listbox2.SelectedItems);
0
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
09.09.2011, 17:04  [ТС] 5
Цитата Сообщение от Koran Посмотреть сообщение
C#
1
listbox2.SelectionMode = SelectionMode.MultiExtended;
C#
1
listBox1.Items.AddRange(listbox2.SelectedItems);
и в listBox1 в одну строчку добавятся выделенные итемы из второго листбокса?
0
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
09.09.2011, 17:10 6
Цитата Сообщение от Marych Посмотреть сообщение
и в listBox1 в одну строчку добавятся выделенные итемы из второго листбокса?
я понял вы хотели сократить количество кода до одной строки
если вы хотите именно в листбоксе разместить айтемы в одну строку, то я не уверен что класс это позволяет - точнее я не встречал этого в сторонних программах.
0
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
09.09.2011, 17:13  [ТС] 7
а в ArrayList или еще куданить тоже не получится так добавлять?
0
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
09.09.2011, 17:16 8
в ArrayList?
давайте рассказывайте подробнее что вы имеете и что вы хотите получить. только рассказывайте подробно, на пальцах - я так лучше понимаю
0
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
09.09.2011, 17:21  [ТС] 9
я хочу взять то что выделено в листбоксе и поместить в одну строку dataGridView
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
09.09.2011, 17:32 10
т.е. если имеем в листбоксе:

фыва
пролджэ
йцукен
ячсм

, выделены первая и последняя строка,

нужно получить в одной строчке

фываячсм

правильно?
0
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
09.09.2011, 17:33  [ТС] 11
Цитата Сообщение от novi4ok Посмотреть сообщение
т.е. если имеем в листбоксе:

фыва
пролджэ
йцукен
ячсм

, выделены первая и последняя строка,

нужно получить в одной строчке

фываячсм

правильно?
да так и надо
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
09.09.2011, 17:39 12
а попробуй так:

сомневаюсь что получится, но а вдруг?

C#
1
lb.SelectedItems.ToString()
если нет, то:

C#
1
2
3
4
string onestring;
foreach (string s in listBox1.SelectedItems) {
            onestring += s;
}
1
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
09.09.2011, 18:00  [ТС] 13
Цитата Сообщение от novi4ok Посмотреть сообщение
а попробуй так:

сомневаюсь что получится, но а вдруг?

C#
1
lb.SelectedItems.ToString()
если нет, то:

Код
string onestring;
foreach (string s in listBox1.SelectedItems) {
            onestring += s;
}
в первом варианте отображалось System.Windows.Forms.ListBox+SelectedObjectCollection

а второй способ работает, только переменной onestring пришлось присвоить пустое значение, т.е.string onestring = "". большое спасибо!
0
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
09.09.2011, 18:11 14
как-то так, но сперва добавьте нужное количество колонок
C#
1
2
3
4
5
6
7
            dataGridView1.Rows.Add(new DataGridViewRow());
            DataGridViewCell[] cells = new DataGridViewCell[listBox1.SelectedItems.Count];
            for (int i = 0; i < listBox1.SelectedItems.Count; i++) {
                DataGridViewCell currentCell = new DataGridViewButtonCell();
                currentCell = (DataGridViewCell)listBox1.SelectedItems[i].ToString();
            }
            dataGridView1.Rows[dataGridView1.Rows.Count-1].Cells.AddRange(cells);
Добавлено через 1 минуту
Цитата Сообщение от Marych Посмотреть сообщение
C#
1
2
3
4
string onestring;
foreach (string s in listBox1.SelectedItems) {
* * * * * * onestring += s;
}
таким макаром оно всё сольет в одну строку - что не есть кошерно
1
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
09.09.2011, 18:39  [ТС] 15
C#
1
currentCell = (DataGridViewCell)listBox1.SelectedItems[i].ToString();
вот тут вылазит такая ошибка Cannot convert type 'string' in 'System.Windows.Forms.DataGridViewCell'
0
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
09.09.2011, 18:45 16
C#
1
currentCell = listBox1.SelectedItems[i].ToString() as DataGridViewCell;
0
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
09.09.2011, 18:52  [ТС] 17
теперь Cannot convert type 'string' to 'System.Windows.Forms.DataGridViewCell' via a reference conversion, boxing conversion, wrapping conversion, or null type conversion
0
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
09.09.2011, 18:54 18
давайте без паники - я позже дома сяду спокойно попробую написать код и отпишусь
0
7 / 7 / 4
Регистрация: 08.07.2010
Сообщений: 116
09.09.2011, 18:55  [ТС] 19
хорошо
0
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
09.09.2011, 21:53 20
в общем вот такой кривоватый код с использованием DataSet
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
34
35
36
37
38
39
40
41
42
43
44
using System;
using System.Data;
using System.Windows.Forms;
 
namespace TempWinFormProject {
    public partial class Parent : Form {
        public Parent() {
            InitializeComponent();
 
            listBox1.SelectionMode = SelectionMode.MultiExtended;
            dataGridView1.ReadOnly = true;
 
            for (int i = 0; i < 10; i++) {
                listBox1.Items.Add((i + 1).ToString());
            }
 
            dataSetLb1.Tables.Add(new DataTable("selectedItems"));
            dataGridView1.DataSource = dataSetLb1.Tables[0];
 
            for (int i = 0; i < listBox1.Items.Count; i++) {
                if (dataSetLb1.Tables.Count != 0) {
                    dataSetLb1.Tables[0].Columns.Add(new DataColumn((i + 1).ToString(), typeof(String)));
                }
            }
        }
 
        DataSet dataSetLb1 = new DataSet("DataSetOfSelectedItemsInListBox1");
 
        private void button1_Click(object sender, EventArgs e) {
            if (listBox1.SelectedItems.Count != 0) {
                dataSetLb1.Tables[0].Rows.Clear();
                DataRow selRow = dataSetLb1.Tables[0].NewRow();
                dataSetLb1.Tables[0].Rows.Add(selRow);
                for (int i = 0; i < listBox1.SelectedItems.Count; i++) {
                    dataSetLb1.Tables[0].Rows[0].ItemArray[i] = listBox1.SelectedItems[i].ToString();
                    dataGridView1.Rows[0].Cells[i].Value = listBox1.SelectedItems[i];
                }
                dataGridView1.Refresh();
            } else {
                MessageBox.Show("Selecting is clear");
            }
        }
    }
}

напрямую у меня не получилось создать.. да и вообще с DataGridView я особо не дружу - не приходилось тесно подружиться.
но код работает - выделяете элементы в листбоксе, клацаете на кнопку и в датаГридВью в ячейках отображаются ваши записи
1
09.09.2011, 21:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.09.2011, 21:53
Помогаю со студенческими работами здесь

Сделать разными цветами одну строку ListBox
Private Sub ColoredListBox_DrawItem(ByVal sender As Object, ByVal e As...

Как добавить в одну программу форму из другой?
Подскажите, как добавить в одну программу форму из другой программы, если в последней уже есть...

В одну таблицу добавить в другой обновить добавленое
Незнаю как сделать чтобы было 2 запроса Вставляю запись в таблицу paid_distance, а в таблице...

Добавить данные в одну строку
Есть запрос SELECT Number, Description FROM Test Выводит таблицу такого вида Number |...

Combobox добавить строку с listbox
Привет, можно ли добавить в ComboBox весь список с ListBox не нажимая на саму строку в listbox?

Как добавить строку в listbox?
как добавить строку в listbox между другими строками int d = (listBox2.SelectedIndex); ...


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

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