Cursor.Current = Cursors.WaitCursor;
try {
// Загружаем данные DataSet
DataSet ds = new DataSet();
ds.ReadXml(@"\Program Files\DataGrid_CS\artists.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
появился только в .NET Compact Framework 2.0. В предыдущей версии его не было. Этот элемент реализует разделитель, который используется для изменения размеров закрепленных элементов управления во время выполнения программы. Элемент Splitter
обычно используется вместе с элементами управления, содержащими данные переменной длины.
Стоит рассмотреть работу данного элемента на конкретном примере. На форме следует расположить графическое поле PictureBox
и присвоить его свойству Dock
значение Top
. Затем на форме надо расположить объект Splitter
и его свойству Dock
тоже присвоить значение Top
. Также следует расположить на форме текстовое поле TextBox
. Его свойству Multiline
надо присвоить значение True
, а свойству Dock
— значение Fill
. Внешний вид получившегося приложения показан на рис. 3.17.
Рис. 3.17. Применение элемента Splitter в приложении
Даже без единой строчки написанного кода запущенное приложение будет вполне функционально. Если нужно увеличить область текстового поля для ввода новых данных, то достаточно нажать стилусом на разделителе и передвинуть его чуть выше.
Элемент управления MonthCalendar
появился только в последней версии .NET Compact Framework 2.0. Данный элемент позволяет легко выбрать необходимую дату.
Для создания тестового приложения на форме надо разместить элементы MonthCalendar
и Label
. Метка должна получить имя lblSelectDate
, а для свойства Text
нужно задать значение Выбранная дата
. Затем следует дважды щелкнуть на элементе monthCalendar1
, чтобы задать код обработчика события DateChanged
. Этот код приведен в листинге 3.26.
Листинг 3.26
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e) {
lblSelectDate.Text =
"Выбранная дата: " + monthCalendar1.SelectionStart.ToShortDateString();
}
Теперь можно запустить приложение и выбрать любую дату из месячного календаря. Выбранная дата будет автоматически отображаться в надписи lblSelectDate
, как показано на рис. 3.18.
Рис. 3.18. Выбираем дату из месячного календаря
Элемент управления DateTimePicker
также является новым элементом, который появился в .NET Compact Framework 2.0. Он позволяет выбирать не только дату, но и время.
На форме надо разместить элемент DateTimePicker
и две текстовые метки Label
, в которых будут отображаться дата и время. Затем нужно дважды щелкнуть на элементе DateTimePicker
, чтобы задать код обработчика события ValueChanged
. Этот код приведен в листинге 3.27.
Листинг 3.27
private void dateTimePicker1_ValueChanged(object sender, EventArgs e) {
lblDate.Text = "Дата: " + dateTimePicker1.Value.ToShortDateString();
lblTime.Text = "Время: " + dateTimePicker1.Value.ToShortTimeString();
Читать дальше