private void button3_Click(object sender, System.EventArgs e)
{
int i =0;
foreach (string item in listBox2.Items)
{
selected_items[i] = item;
Debug.WriteLine(selected_items[i]);
i++;
}
this.Hide();
}
private void button4_Click(object sender, System.EventArgs e)
{
foreach(string item in listBox2.Items)
{
Debug.WriteLine(item);
}
this.Hide();
}
Оба они в Debug-версии проекта выводят данные о книгах, выбранных пользователем, и скрывают затем форму. Но первый из них сохраняет результаты выбора в поле
Book[] source_items;
Воок[] selected_items;
const int max_items = 20;
Код, добавляемый в конструктор:
source_items = new Book[max_items];
selected_items = new Book[max_items];
InitList1 ();
Метод
void InitList1()
{
//задание элементов источника и инициализация списка формы
Book newbook;
newbook = new Book("Бертран Мейер",
"Методы программирования",3,1980);
source_items[0] =newbook;
//остальные элементы массива заполняются аналогичным образом
//перенос массива в список ListBox1
int i = 0;
while (source_items[i]!= null)
{
this.listBox1.Items.Add(source_items[i]);
i + +;
}
}
Обработчики событий
private void button3_Click(object sender, System.EventArgs e)
{
int i =0;
foreach (object item in listBox2.Items)
{
selected_items[i] = (Book)item;
selected_items[i].PrintBook ();
i + +;
}
this.Hide();
}
private void button4_Click(object sender, System.EventArgs e)
{
Book book;
foreach(object item in listBox2.Items)
{
book = (Book)item;
book.PrintBook();
}
this.Hide();
}
Класс
public class Book
{
//поля
string author, title;
int price, year;
public Book(string a, string t, int p, int y)
{
author = a; title = t; price = p; year = y;
}
public override string ToString()
{
return(title +": " + author);
}
public void PrintBook()
{
Debug.WriteLine("автор: " + author + " название: " + title + " цена: " + price.ToString () + " год издания: " + year.ToString ());
}
}
Обратите внимание, что в классе, как и положено, переопределен метод
В завершение проекта нам осталось спроектировать главную форму. Сделаем ее в соответствии с описанным ранее шаблоном кнопочной формой (рис. 24.7).
Рис. 24.7.
Обработчики событий
Рис. 24.8.
Важными атрибутами интерфейса являются меню и инструментальные панели с кнопками. Рассмотрим, как организуются эти элементы интерфейса в формах. Меню и панели с кнопками можно создавать как вручную в режиме проектирования, так и программно.