source_items - источник данных - строками, а затем передает эти данные в левый список формы. По-хорошему, следовало бы организовать заполнение списка формы из базы данных, но я здесь выбрал самый примитивный способ: void InitList1() { //задание элементов источника и инициализация списка формы source_items[0] ="Бертран Мейер: Методы программирования"; //аналогично заполняются другие элементы массива //перенос массива в список ListBox1 int i = 0; while (source_items[i] != null) { this.listBox1.Items.Add(source_items[i]); i++; } //this.listBox1.DataSource = source_items; } Закомментирована альтернативная возможность заполнения списка формы, использующая свойство DataSource. Когда форма откроется, ее левый список будет заполнен, пользователь сможет выбрать из списка понравившиеся ему книги и перенести их в правый список. Зададим теперь обработчики события Click для командных кнопок ("Сохранить выбор" и "Не сохранять"): private void button3_Click(object sender, System.EventArgs e) { int i =0; foreach(string item in listBox2.Items) |