Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 224

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 218 219 220 221 222 223 < 224 > 225 226 227 228 229 230 .. 320 >> Следующая

Console.WnteLine(carFromOisk.petName + " is alive!"); return 0:
)
556 Глава 11 'Ввод, вывод и сериализация объектов
D:\DDCimienl* and Srtt іпдїч
LGetOhjectData] Context State: fill Tctoi'l Context State: HlI K i.ddliartlia is aliue! Pi'ess any key to continue
EE
Рис. 11.24. Применение пользовательского варианта сериализации Код приложения CustomSerialization можно найти в подкаталоге Chapter
Приложение для регистрации автомобилей с графическим интерфейсом
В заключение нашего обсуждения вопросов, связанных с сернализацнец объектов, мы рассмотрим в последней части этой главы простое, но вполне работоспособное приложение Windows, в котором применяется множество их тех технологий, с которыми мы познакомились. Это приложение позволит пользователю создавать список объектов Саг (как массив ArrayList), которые будут отображаться на форме при помощи элемента управления DataGrid (рис. 11.25). Чтобы ничто не отвлекало нас от процессов сериализации, мы сделаем объект DataGrid доступным только для чтения.
pcaf Logger Application
-im хі
The auto inventory
Pel Name Car Make I Car Color ¦ Li
Siddharlha BMW S Ivel
Chutky Caiavan Pea Soup Green
Fied Audi TT Red
Masji Colt Rust
Jimbo VW Bug Green
EMW E ha
Рис. 11.25. Приложение для регистрации автомобилей
Все операции с массивом объектов Саг будут производиться при помощи меню File. Варианты действий пользователя, которые будут доступны через это меню,, представлены в табл. 11.18. .
Вдаваться в особенности конструирования меню мы не поскольку эти
вопросы были подробно рассмотрены в главе 8. Первое, с чего мы начнем, — с определения самого класса Саг. В книге уже встречалось немало разновидностей этого класса. Этот вариант будет отличаться предельной простотой:
[Serial іzabie] public class
<
// Объявляем для простоты все переменные как public
Приложение для регистрации автомобилей с графическим интерфейсом 557
// Обновляем DataGrid
pubMc string petName. make, color;
public Car(string petfteme. string sake string color) {
this.petName - petName; this, color - color; this, make = make;
)
}
Таблица 11.18. Список элементов меню File в приложении CarLogApp Элемент Действие
Clear All Cars Очищает массив Arrayiist и обновляет DataGrid Exit Выход из приложения
Make New Car Отображает специальное диалоговое окно для добавления пользователем нового объекта Саг и обновляет DataGrid
Open Car File Позволяет пользователю открывать существующий файл *,саг и обновляет
DataGrid. Файл *.саг создается при помощи BinaryFormatter
Save Car File Сохраняет все отображаемые в DataGrid, в файле *.саг
Далее нам потребуется добавить несколько объектов на нашу форму. Чтобы сэкономить время при размещении на форме элемента управления DctaGrid, мы поместим его на форме при помощи Tool Box и установим его свойства при помощи графического интерфейса Visual Studio.NET. Самое важное свойство, которое нам потребуется установить, - свойство Readonly. Какмыдоговаривались, для него будет установлено значение true. Кроме того, нам потребуется задать для OataGr d его размеры и цветовую гамму (выбирайте на свой вкус).
Кроме того, мы должны обеспечить для нашей формы массив ArrayL і st, в котором будет производиться хранение объектов Саг. Пусть конструктор формы изначально помещает в массив несколько объектов Саг — чтобы при открытии формы в списке уже было несколько готовых к употреблению объектов. После добавления элементов в массив объект DataGrid нужно обновлять (чтобы в нем отобразились изменения). За это будет отвечать функция UpdateGr А соответствующая часть определения формы будет выглядеть так:
public class mainForm : System.Windows. Forms.Form !
Il Массив для хранения объектов Саг private Arrayust arTheCars = null;
public пшг.Ро^О {
InitializeComponentO; CenterToScreenO;
// Добавляем несколько объектов Саг в массив arTheCars = new ArrayLi StO;
arTheCars. Add (new CarC'Siddhartha". "BMW". "Silver")); arTheCars. Add (new CarC'Chucky". "Caravan". "Pea Soup Green")); arTheCars.Add(new Cart"Fred", "Audi TT", "Red"));
558 Глава 11 • Ввод, вывод и сериализация объектов UpdateGridO;
}
Г
Метод UpdateGridO прежде всего будет создавать объект класса System.Data.Da-taTable. Каждой строке в этой таблице будет соответствовать объект Саг в массиве ArrayList. После того как объект DataTabie создан и заполнен объектами автомобилей, он послужит источником данных для элемента управления DataGr і d. Подробнее о классе DataTabl e и приемах работы с ним будет рассказано в главе 13, посвященной ADO.NET, а пока мы приведем код для UpdateGridO:
private void UpdateGridO {
ifCarTneCars !- null)
{ И Создаем объект DataTabie с именем Inventory
DataTabie inventory - new DataTabieC"Inventory");
Il Создаем объекты DataColumn DataColumn make - new DataColimnCCar Make"): DataColiimn petName - new DataColumn ("Pet name"): DataColumn color = new DataColumnC'Car Color"):
Il Добавляем объекты OataColumn в DataTabie .
1nventory.Columns.Add(petName): inventory.Columns.Add(make): inventory.Columns.Add(color)s
Предыдущая << 1 .. 218 219 220 221 222 223 < 224 > 225 226 227 228 229 230 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100