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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2011, 11:27   #1
pro100saniok
Пользователь
 
Регистрация: 20.06.2010
Сообщений: 33
Вопрос Как передать элемент с списка listViewа в combobox ?

У меня есть главная форма на которой находиться Combobox,а также есть форма со списком listView.
как передать выбранный элемент, из списка(listView) в одной форме, в дргую форму с Combobox.
Можно ли при нажатии на кнопку,чтобы у меня передавался элемент со списка в Combobox и выполнялся метод с главной формы?
pro100saniok вне форума Ответить с цитированием
Старый 17.06.2011, 15:30   #2
Партизанин
Пользователь
 
Аватар для Партизанин
 
Регистрация: 13.06.2011
Сообщений: 16
Радость Обмен данными между формами

pro100saniok, не уверен, что это самый лучший вариант, так как сам особо не работал с listView и передачей параметров по разным формам, но он работает

Для начала первая форма с listView содержит следующее:

Код:
    public partial class Form1 : Form
    {
        ListView lv = new ListView(); // Наш список ListView
        List<int> selItems = new List<int>(); // список индексов выделенных Item в lv
        Button b = new Button();
        
        public Form1()
        {
            // Добавление обработчиков
            lv.SelectedIndexChanged += lv_SelectedIndexChanged;
            lv.ItemSelectionChanged += lv_ItemSelectionChanged;
            b.Click += b_Click;

            // Добавление элементов на форму
            this.Controls.Add(lv); 
            this.Controls.Add(b);

            b.SetBounds(0, lv.Size.Height + 10, lv.Size.Width, 25); // Расположение и размеры кнопки
            b.Text = "Ok"; // Текст на кнопке

            // Добавление элементов в ListView
            lv.Items.Add("1");
            lv.Items.Add("2");
            lv.Items.Add("3");
            lv.Items.Add("4");

            InitializeComponent();
        }

        private void lv_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Очистка списка
            if (lv.SelectedItems.Count == 0) selItems.Clear();
        }

        private void lv_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
        {
            if (e.IsSelected) selItems.Add(e.ItemIndex); // добавление индекса
            else selItems.Remove(e.ItemIndex); // удаление индекса, если с него снято выделение
        }
        
        // Обработчик нажатия на кнопку - он же и переносит данные на другую форму
        private void b_Click(object s, EventArgs e)
        {
            Form2 form2 = new Form2();
            form2.setComboBoxItems(lv, selItems); // Задание ComboBox
            form2.ShowDialog(); // Показать форму
        }
    }
Вторая форма содержит код с ComboBox'ом:
Код:
    public partial class Form2 : Form
    {
        ComboBox cb = new ComboBox(); // ComboBox, куда будем добавлять элементы

        public Form2()
        {
            this.Controls.Add(cb); // Добавление на форму

            InitializeComponent();
        }

        // Функция, заполняющая ComboBox выбранными в ListView элементами
        public void setComboBoxItems(ListView lv, List<int> selItems)
        {
            cb.Items.Clear();
            cb.Text = "Выбранные эл-ты";
            foreach (int i in selItems)
            {
                cb.Items.Add(lv.Items[i].Text);
            }
        }
    }
Партизанин вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как программно выделить элемент списка html bkpwr Общие вопросы .NET 2 18.09.2011 13:56
В форме элемент списка и текстовое поле, как заставить.... denisus Microsoft Office Excel 8 16.03.2011 01:27
TComponent как элемент списка блюд m91da Помощь студентам 1 25.11.2010 20:16
как сделать фильтр для списка combobox ? sergey113 Помощь студентам 2 13.08.2008 16:29
Как сделать, чтобы один элемент списка в ComboBox писался в несколько строк? Andr Общие вопросы Delphi 5 15.08.2007 22:24