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

Перемещение из listView1 и listView2 и наоборот

14.01.2013, 01:35. Показов 2553. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте. Задача заключается в следующем, есть listView1 и listView2. Нужно из textBox1 добавить в listView1 или listView2 то что мы туда введем, переместить то что мы добавили в listView1 или listView2, переместить из listView1 в listView2 и наоборот то что мы добавили в listView2 переместить в listView1. И удалить то что мы добавили.
Добавление элемента и удаление я реализовал, а вот как реализовать перемещение данных из listView1 в listView2 и наоборот?
Кликните здесь для просмотра всего текста
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
45
46
47
48
49
//Первый список
        
 //Первый список
        
        private void button2_Click(object sender, EventArgs e)
        {
            //Добавление
            listView1.Items.Add(textBox2.Text);
        }
        //Перемещение
        private void button3_Click(object sender, EventArgs e)
        {
         
        }
        //Удаление
        private void button4_Click(object sender, EventArgs e)
        {
            ListViewItem Items = listView1.SelectedItems[0];
            Items.Remove(); 
                 
        }
        //Второй список
        //Добавление
        private void button5_Click(object sender, EventArgs e)
        {
            listView2.Items.Add(textBox2.Text);
        }
        //Перемещение
        private void button6_Click(object sender, EventArgs e)
        {
 
 
 
        }
        //Удаление
        private void button7_Click(object sender, EventArgs e)
        {
            ListViewItem items = listView2.SelectedItems[0];
            listView2.Items.Remove(items);
        }
                
        public int collection { get; set; }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
 
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.01.2013, 01:35
Ответы с готовыми решениями:

Перемещение внутренней формы наружу и наоборот
Добрый день! Есть вопрос. Есть ли какие-нибудь решения для того чтобы переместить внутреннюю форму наружу и наоборот. Если не...

Из TMemoryStream в ListView1
в TMemoryStream из базы mysql загружена картинка в формате ico, как ее отобразить в ListView1 ? unsigned long *ds =...

Компонент ListView1
Привет. Имею клиент и сервер. при подключение клиента к серверу в StringGrid1 вносятся описания клиента. версия винды, ник и тд. Вот...

2
Футболист
 Аватар для Goal
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
14.01.2013, 05:24
Привет, все довольно просто, даже легче, чем ты наделал там у себя в коде
1. Создадим форму, добавим в ремурсы икноку для корзины, добавим туда следующие элементы:
  • listBox1
  • listBox2
  • textBox1//текст вводить куда будем?
  • button1
  • button2//кнопки для добавления элементов в listBox1,2
  • pictureBox1//для удаления, можно и без нее в принципе.
2. В событие загрузки формы добавим следующий код
C#
1
2
3
4
5
6
private void Form1_Load(object sender, EventArgs e)
        {
            pictureBox1.Image = listViewDragNDrop.Properties.Resources.korzina;
            pictureBox1.BorderStyle = BorderStyle.None;
            ((Control)pictureBox1).AllowDrop = true;//magic :D 
        }
3. Добавим для двоих listBoxов следующие события, на которые их подпишем) код событий:
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
//перемещение
        private void listView_DragEnter(object sender, DragEventArgs e)
        {
            var listView = sender as ListView;
            if (e.Data.GetDataPresent("System.Windows.Forms.ListView+SelectedListViewItemCollection") && e.AllowedEffect == DragDropEffects.Move)
                e.Effect = DragDropEffects.Move;
        }
        
        private void listView_ItemDrag(object sender, ItemDragEventArgs e)
        {
            var listView1 = sender as ListView;
 
            listView1.DoDragDrop(listView1.SelectedItems, DragDropEffects.Move);
        }
 
        private void listView_DragDrop(object sender, DragEventArgs e)
        {
            var listView = sender as ListView;
 
            var items = e.Data.GetData("System.Windows.Forms.ListView+SelectedListViewItemCollection") as ListView.SelectedListViewItemCollection;
 
            foreach (ListViewItem item in items)
            {
                item.ListView.Items.Remove(item);   
                listView.Items.Add(item); 
            }
        }
4. Кнопкам добавления текста, создадим по событию:
C#
1
2
3
4
5
6
7
8
9
10
//добавление
private void button1_Click(object sender, EventArgs e)
        {
            listView1.Items.Add(textBox1.Text);
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            listView2.Items.Add(textBox1.Text);
        }
5. Ну и на конец добавим код для удаления, сгенерируем 3 события и подпишем на них наш pictureBox1:
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
//удаление
        private void pictureBox1_DragDrop(object sender, DragEventArgs e)
        {
            var listView = sender as ListView;
            var items = e.Data.GetData("System.Windows.Forms.ListView+SelectedListViewItemCollection") as ListView.SelectedListViewItemCollection;
            foreach (ListViewItem item in items)
            {
                item.ListView.Items.Remove(item);
            }
            pictureBox1.BorderStyle = BorderStyle.None;
        }
 
        private void pictureBox1_DragEnter(object sender, DragEventArgs e)
        {
 
            if (e.Data.GetDataPresent("System.Windows.Forms.ListView+SelectedListViewItemCollection") && e.AllowedEffect == DragDropEffects.Move)
            {
                pictureBox1.BorderStyle = BorderStyle.FixedSingle;
                e.Effect = DragDropEffects.Move;
            }
        }
 
        private void pictureBox1_DragLeave(object sender, EventArgs e)
        {
            pictureBox1.BorderStyle = BorderStyle.None;
        }
6. Не забываем для необходимых нам элементов listView1,listView2 установить AllowDrop = true
7. Рабочий проэкт в прикрепленных файлах, скрин работы программы.
8. Операции удаления и перемещения осуществляються с помощью операции перетаскивания элементов из listViewов
Миниатюры
Перемещение из listView1 и listView2 и наоборот  
Вложения
Тип файла: rar listViewDragNDrop.rar (449.5 Кб, 13 просмотров)
1
0 / 0 / 1
Регистрация: 14.10.2012
Сообщений: 27
14.01.2013, 17:09  [ТС]
Цитата Сообщение от Goal Посмотреть сообщение
Привет, все довольно просто, даже легче, чем ты наделал там у себя в коде
1. Создадим форму, добавим в ремурсы икноку для корзины, добавим туда следующие элементы:
  • listBox1
  • listBox2
  • textBox1//текст вводить куда будем?
  • button1
  • button2//кнопки для добавления элементов в listBox1,2
  • pictureBox1//для удаления, можно и без нее в принципе.
2. В событие загрузки формы добавим следующий код
C#
1
2
3
4
5
6
private void Form1_Load(object sender, EventArgs e)
        {
            pictureBox1.Image = listViewDragNDrop.Properties.Resources.korzina;
            pictureBox1.BorderStyle = BorderStyle.None;
            ((Control)pictureBox1).AllowDrop = true;//magic :D 
        }
3. Добавим для двоих listBoxов следующие события, на которые их подпишем) код событий:
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
//перемещение
        private void listView_DragEnter(object sender, DragEventArgs e)
        {
            var listView = sender as ListView;
            if (e.Data.GetDataPresent("System.Windows.Forms.ListView+SelectedListViewItemCollection") && e.AllowedEffect == DragDropEffects.Move)
                e.Effect = DragDropEffects.Move;
        }
        
        private void listView_ItemDrag(object sender, ItemDragEventArgs e)
        {
            var listView1 = sender as ListView;
 
            listView1.DoDragDrop(listView1.SelectedItems, DragDropEffects.Move);
        }
 
        private void listView_DragDrop(object sender, DragEventArgs e)
        {
            var listView = sender as ListView;
 
            var items = e.Data.GetData("System.Windows.Forms.ListView+SelectedListViewItemCollection") as ListView.SelectedListViewItemCollection;
 
            foreach (ListViewItem item in items)
            {
                item.ListView.Items.Remove(item);   
                listView.Items.Add(item); 
            }
        }
4. Кнопкам добавления текста, создадим по событию:
C#
1
2
3
4
5
6
7
8
9
10
//добавление
private void button1_Click(object sender, EventArgs e)
        {
            listView1.Items.Add(textBox1.Text);
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            listView2.Items.Add(textBox1.Text);
        }
5. Ну и на конец добавим код для удаления, сгенерируем 3 события и подпишем на них наш pictureBox1:
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
//удаление
        private void pictureBox1_DragDrop(object sender, DragEventArgs e)
        {
            var listView = sender as ListView;
            var items = e.Data.GetData("System.Windows.Forms.ListView+SelectedListViewItemCollection") as ListView.SelectedListViewItemCollection;
            foreach (ListViewItem item in items)
            {
                item.ListView.Items.Remove(item);
            }
            pictureBox1.BorderStyle = BorderStyle.None;
        }
 
        private void pictureBox1_DragEnter(object sender, DragEventArgs e)
        {
 
            if (e.Data.GetDataPresent("System.Windows.Forms.ListView+SelectedListViewItemCollection") && e.AllowedEffect == DragDropEffects.Move)
            {
                pictureBox1.BorderStyle = BorderStyle.FixedSingle;
                e.Effect = DragDropEffects.Move;
            }
        }
 
        private void pictureBox1_DragLeave(object sender, EventArgs e)
        {
            pictureBox1.BorderStyle = BorderStyle.None;
        }
6. Не забываем для необходимых нам элементов listView1,listView2 установить AllowDrop = true
7. Рабочий проэкт в прикрепленных файлах, скрин работы программы.
8. Операции удаления и перемещения осуществляються с помощью операции перетаскивания элементов из listViewов
Большое спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.01.2013, 17:09
Помогаю со студенческими работами здесь

Загрузка Данных в ListView1
Всем привет ! Нужна ваша помощь .. Делаю очень интересный проект ... суть проекта в том что бы сохранять и загружать нужные мне данные...

Не правильное удаление в ListView1
Имеется код for (int i = 0; i < ListView1->Items->Count; i++) { if(ListView1->Items->Item->Checked == true) ...

ListView1 - исключение при клике
Нажимаю по любой строке, всё срабатывает, потом еще раз кликаю появляется исключение System.ArgumentOutOfRangeException:...

Перенести ListView1 в ListItems потока
День добрый, вопрос такого формата: Есть ListView1, который создается динамически 1 раз при нажатии на кнопку и заполняется данными и есть...

Выборка значений listView1.Items
Столкнулся с вот такой проблемой есть список книг, который отображается в listView1. Есть Combobox осуществляющий выборку по жанрам, есть...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru