Чтение онлайн

ЖАНРЫ

Программирование КПК и смартфонов на .NET Compact Framework

Климов Александр Петрович

Шрифт:

 appt.Start = new DateTime(2007, 03, 08, 22, 00, 00);

 // Продолжительность встречи - 3 минуты

 appt.Duration = new TimeSpan(00, 03, 00);

 // Использовать виброзвонок для напоминания

 appt.ReminderVibrate = true;

 // Повторять напоминание, пока пользователь не отреагирует

 appt.ReminderRepeat = true;

 // Создаем сессию Outlook

 // добавляем встречу в папку встреч Outlook

 using (OutlookSession session = new OutlookSession) {

session.Appointments.Items.Add(appt);

session.Dispose;

 }

}

Нужно

запустить программу и нажать кнопку
Добавить встречу
. После этого можно закрыть приложение, так как свою работу оно закончило. Теперь следует открыть программу
Календарь
, которая встроена в систему. В календаре нужно найти дату, которая использовалась в программе. В текущем примере встреча была запланирована на 8 марта 2007 года. Если все сделано правильно, то в указанной дате должна присутствовать запись о новой встрече (рис. 10.5).

Рис. 10.5. Календарь с установленной записью встречи

Работа с адресной книгой

В этом разделе будет рассмотрен пример, в котором будет добавлена новая запись в объект Контакты. Для этого надо, как и прежде, добавить в проект ссылки на соответствующие сборки

Miсrosoft.WindowsMobile.Forms
и
Microsoft.WindowsMobilе.PocketOutlook
. А в редакторе кода надо добавить объявления для пространств имен
Microsoft.WindowsMobilе.Forms
и
Microsoft.WindowsMobile.PocketOutlook
сразу после существующих объявлений.

Теперь можно обращаться к Контактам через объект

OutlookSession
. Чтобы добавить новый контакт в коллекцию Контакты, надо разместить на форме кнопку с именем
butAddContact
и написать код, приведенный в листинге 10.2.

Листинг 10.2

private OutlookSession session;

public Form1 {

 InitializeComponent;

 // Создаем экземпляр сессии Pocket Outlook

 session = new OutlookSession;

}

private void butAddContact_Click(object sender, EventArgs e) {

 Contact contact = new Contact;

 contact.FirstName = "Билл";

 contact.LastName = "Гейтс";

 contact.Email1Address = "billgates@microsoft.com";

 contact.Birthday = new DateTime(1955,10,28);

 contact.CompanyName = "Microsoft";

 contact.WebPage = new Uri("http://www.microsoft.com");

 session.Contacts.Items.Add(contact);

}

Код очень прост и практически не требует комментариев. В начале работы создается переменная

contact
, в которой можно задавать самые различные параметры. В этом примере использовались только основные свойства.
Были указаны имя, фамилия, электронный адрес, день рождения, имя компании и ее веб-страница. После того как новый контакт будет добавлен в список, нужно закрыть сессию при помощи метода
Dispose
.

После запуска приложения следует нажать кнопку

Добавить в Контакты
. В результате этого в списке
Контакты
появится новая запись (рис. 10.6)

Рис. 10.6. Просмотр списка контактов

Но разработчик может не только добавлять, но и получать информацию из имеющегося элемента списка. Для этого на форму надо поместить список

lstContacts
и кнопку
butGetInfo
. Прежде чем получить информацию о нужном нам человеке, нужно сначала получить сам список контактов. И только потом, выбрав из этого списка нужную запись, можно получить дополнительную информацию. Для получения полного списка контактов нужно добавить код в обработчик события
Form_Load
, как это показано в листинге 10.3.

Листинг 10.3

private void Form1_Load(object sender, EventArgs e) {

 // Получаем список контактов

 lstContacts.DataSource = session.Contacts.Items;

}

Теперь при загрузке формы список автоматически будет заполнен. Пользователь может выбрать любую запись и получить дополнительную информацию о выбранном контакте. Для этого в событии

butGetInfo_Click
создается код, приведенный в листинге 10.4.

Листинг 10.4

private void butGetInfo_Click(object sender, EventArgs e) {

 // Получим информацию о выбранном контакте

 session.Contacts.Items[lstContacts.SelectedIndex].ShowDialog;

}

Когда пользователь выделит интересующую его запись и нажмет кнопку Получить информацию, на экран будет выведено стандартное диалоговое окно с информацией о выбранной записи.

Удалить контакт из списка еще проще, чем создать его. На форму надо добавить еще одну кнопку

butDelContact
, с которой будет связан код, приведенный в листинге 10.5.

Листинг 10.5

private void butDelContactClick(object sender, EventArgs e) {

 // Удаляем выбранный контакт

 session.Contacts.Items[lstContacts.SelectedIndex].Delete;

}

Также из приложения можно вызвать стандартное окно выбора контакта, используемое программой Pocket Outlook. Теперь совсем не обязательно закрывать нашу программу и открывать окно контактов, как это было сделано при добавлении новой записи в список контактов.

Стандартное окно имеет некоторые дополнительные возможности, которые могут пригодиться разработчикам. Доступ к данному окну осуществляется через класс

ChooseContactDialog
, как показано в листинге 10.6.

Листинг 10.6

private void butShowContactsClick(object sender, EventArgs e) {

 ChooseContactDialog contactDialog = new ChooseContactDialog;

 // Прячем пункт меню Новый контакт

 contactDialog.HideNew = true;

Поделиться с друзьями: