□ Appointment
— класс, отвечающий за работу с назначенными встречами. С помощью данного класса можно редактировать данные записи и тип применяемого сигнала.
□ Contact
— класс для работы с контактами. Данный класс поддерживает более 60 свойств.
□ Task
— класс для работы с задачами.
В следующих разделах применение пространства имен Microsoft.WindowsMobile.PocketOutlook
будет рассматриваться на конкретных примерах.
Встречи (Appointment)
При помощи объектной модели Pocket Outlook Object Model разработчик может добавить новую запись в список намечаемых встреч. Сначала надо создать тестовый проект. Чтобы получить доступ к объектам Pocket Outlook, нужно добавить ссылку на соответствующие сборки. Для этого следует выполнить команду Project►Add Reference
. В диалоговом окне Add Reference
нужно выбрать строки Microsoft.WindowsMobile.Forms
и Microsoft.WindowsMobile.PocketOutlook
(рис. 10.3).
Рис. 10.3. Подключение к проекту сборок
После нажатия кнопки OK выбранные ссылки должны появиться в списке ссылок Solution Explorer
, как показано на рис. 10.4.
Рис. 10.4. Окно Solution Explorer
Теперь в редакторе кода следует добавить объявления для пространств имен Microsoft.WindowsMobile.Forms
и Microsoft.WindowMobile.PocketOutlook
сразу после существующих объявлений. В этом случае появляется возможность работы с различными классами Pocket Outlook. Например, чтобы получить доступ к настройкам для встреч, используется класс Appointment
, как показано в листинге 10.1.
using Microsoft.WindowsMobile.Forms;
using Microsoft.WindowsMobile.PocketOutlook;
private void button1_Click(object sender, EventArgs e) {
// Создаем встречу и устанавливаем детали
Appointment appt = new Appointment();
// Тема для встречи
appt.Subject = 'Встреча с тещей';
// Время встречи - 8 марта 2007 в 22 часа
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.
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 = '[email protected]';
contact.Birthday = new DateTime(1955,10,28);
contact.CompanyName = 'Microsoft';
contact.WebPage = new Uri('http://www.microsoft.com');
session.Contacts.Items.Add(contact);
}
Код очень прост и практически не требует комментариев. В начале работы создается переменная contact
, в которой можно задавать самые различные параметры. В этом примере