артистов шоу-бизнеса. Файл содержит записи о фамилии, дате рождения и адресе проживания. Созданный файл нужно добавить в проект, расположить на форме элемент DataGrid
и присвоить ему имя grdArtists
. В листинге 3.25 приведен код обработчика события Form1_Load
.
private void Form1_Load(object sender, EventArgs e) {
Cursor.Current = Cursors.WaitCursor;
try {
// Загружаем данные DataSet
DataSet ds = new DataSet();
ds.ReadXml(@'Program FilesDataGrid_CSartists.xml');
grdArtists.DataSource = ds.Tables[0];
} catch (Exception) {
MessageBox.Show('Не могу загрузить данные в DataGrid!', this.Text);
}
// Устанавливаем стили
DataGridTableStyle ts = new DataGridTableStyle();
ts.MappingName = 'Order';
DataGridColumnStyle artistDate = new DataGridTextBoxColumn();
artistDate.MappingName = 'BirthDate';
artistDate.HeaderText = 'Дата рождения';
ts.GridColumnStyles.Add(artistDate);
DataGridColumnStyle artistName = new DataGridTextBoxColumn();
artistName.MappingName = 'ArtistName';
artistName.HeaderText = 'Артист';
artistName.Width = this.Width - artistDate.Width - 35;
ts.GridColumnStyles.Add(artistName);
grdArtists.TableStyles.Add(ts);
Cursor.Current = Cursors.Default;
}
В данном примере из XML-файла извлекаются данные, относящиеся к фамилии артиста и дате его рождения. Остальная информация игнорируется. При загрузке приложения в элемент DataGrid
записываются требуемые данные. На рис. 3.16 показан внешний вид приложения.
Рис. 3.16. Пример работы с элементом DataGrid
Также стоит прочитать статью «Using the DataGrid Control in Pocket PC Applications», которую можно найти в справочной системе MSDN. В этой статье иллюстрируются различные приемы программирования, которые помогут расширить возможности данного элемента.
Элемент Splitter
Элемент управления Splitter
появился только в .NET Compact Framework 2.0. В предыдущей версии его не было. Этот элемент реализует разделитель, который используется для изменения размеров закрепленных элементов управления во время выполнения программы. Элемент Splitter
обычно используется вместе с элементами управления, содержащими данные переменной длины.
Стоит рассмотреть работу данного элемента на конкретном примере. На форме следует расположить графическое поле PictureBox
и присвоить его свойству Dock
значение Top
. Затем на форме надо расположить объект Splitter
и его свойству Dock
тоже присвоить значение Top
. Также следует расположить на форме текстовое поле TextBox
. Его свойству Multiline
надо присвоить значение True
, а свойству Dock
— значение Fill
. Внешний вид получившегося приложения показан на рис. 3.17.
Рис. 3.17. Применение элемента Splitter в приложении
Даже без единой строчки написанного кода запущенное приложение будет вполне функционально. Если нужно увеличить область текстового поля для ввода новых данных, то достаточно нажать стилусом на разделителе и передвинуть его чуть выше.
Элемент MonthCalendar
Элемент управления MonthCalendar
появился только в последней версии .NET Compact Framework 2.0. Данный элемент позволяет легко выбрать необходимую дату.
Для создания тестового приложения на форме надо разместить элементы MonthCalendar
и Label
. Метка должна получить имя lblSelectDate
, а для свойства Text
нужно задать значение Выбранная дата
. Затем следует дважды щелкнуть на элементе monthCalendar1
, чтобы задать код обработчика события DateChanged
. Этот код приведен в листинге 3.26.
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e) {
lblSelectDate.Text =
'Выбранная дата: ' + monthCalendar1.SelectionStart.ToShortDateString();
}
Теперь можно запустить приложение и выбрать любую дату из месячного календаря. Выбранная дата будет автоматически отображаться в надписи lblSelectDate
, как показано на рис. 3.18.
Рис. 3.18. Выбираем дату из месячного календаря
Элемент DateTimePicker
Элемент управления DateTimePicker
также является новым элементом, который появился в .NET Compact Framework 2.0. Он позволяет выбирать не только дату, но и время.
На форме надо разместить элемент DateTimePicker
и две текстовые метки Label
, в которых будут отображаться дата и время. Затем нужно дважды щелкнуть на элементе DateTimePicker
, чтобы задать код обработчика события