использовались только основные свойства. Были указаны имя, фамилия, электронный адрес, день рождения, имя компании и ее веб-страница. После того как новый контакт будет добавлен в список, нужно закрыть сессию при помощи метода Dispose()
.
После запуска приложения следует нажать кнопку Добавить в Контакты
. В результате этого в списке Контакты
появится новая запись (рис. 10.6)
Рис. 10.6. Просмотр списка контактов
Но разработчик может не только добавлять, но и получать информацию из имеющегося элемента списка. Для этого на форму надо поместить список lstContacts
и кнопку butGetInfo
. Прежде чем получить информацию о нужном нам человеке, нужно сначала получить сам список контактов. И только потом, выбрав из этого списка нужную запись, можно получить дополнительную информацию. Для получения полного списка контактов нужно добавить код в обработчик события Form_Load
, как это показано в листинге 10.3.
private void Form1_Load(object sender, EventArgs e) {
// Получаем список контактов
lstContacts.DataSource = session.Contacts.Items;
}
Теперь при загрузке формы список автоматически будет заполнен. Пользователь может выбрать любую запись и получить дополнительную информацию о выбранном контакте. Для этого в событии butGetInfo_Click
создается код, приведенный в листинге 10.4.
private void butGetInfo_Click(object sender, EventArgs e) {
// Получим информацию о выбранном контакте
session.Contacts.Items[lstContacts.SelectedIndex].ShowDialog();
}
Когда пользователь выделит интересующую его запись и нажмет кнопку Получить информацию, на экран будет выведено стандартное диалоговое окно с информацией о выбранной записи.
Удалить контакт из списка еще проще, чем создать его. На форму надо добавить еще одну кнопку butDelContact
, с которой будет связан код, приведенный в листинге 10.5.
private void butDelContactClick(object sender, EventArgs e) {
// Удаляем выбранный контакт
session.Contacts.Items[lstContacts.SelectedIndex].Delete();
}
Также из приложения можно вызвать стандартное окно выбора контакта, используемое программой Pocket Outlook. Теперь совсем не обязательно закрывать нашу программу и открывать окно контактов, как это было сделано при добавлении новой записи в список контактов.
Стандартное окно имеет некоторые дополнительные возможности, которые могут пригодиться разработчикам. Доступ к данному окну осуществляется через класс ChooseContactDialog
, как показано в листинге 10.6.
private void butShowContactsClick(object sender, EventArgs e) {
ChooseContactDialog contactDialog = new ChooseContactDialog();
// Прячем пункт меню Новый контакт
contactDialog.HideNew = true;
// Выводим диалоговое окна на экран
contactDialog.ShowDialog();
// Показываем выбранный контакт
MessageBox.Show(contactDialog.SelectedContactName, 'Выбранный контакт');
}
Электронная почта
Кроме получения доступа к списку контактов и добавления новых встреч, разработчик может также отсылать сообщения по электронной почте или через SMS.
Для этих целей используются соответствующие пространства имен Microsoft.WindowsMobile.PocketOutlook.EmailAccount
и Microsoft.WindowsMobile.PocketOutlook.SmsAccount
. Классы из этих пространств имен позволяют легко интегрировать отправку сообщений в ваши приложения. Например, класс EmailAccount
позволяет создавать электронные письма и присоединять к ним файлы.
В следующем примере демонстрируется вызов диалогового окна ChooseContactDialog
для выбора нужного адресата из списка контактов, которому будет отправлено электронное письмо. Приложение создаст сообщение, в коде будет указана и тема письма.
Также в письмо будет добавлен вложенный файл, после чего сообщение будет отправлено выбранному ранее лицу. Все эти действия проиллюстрированы листингом 10.7.
private void butSendEmail_Click(object sender, EventArgs e) {
ChooseContactDialog contactDialog = new ChooseContactDialog();
contactDialog.Title = 'Выберите контакт для отправки email';
if (contactDialog.ShowDialog() == DialogResult.OK) {
EmailMessage message = new EmailMessage();
message.To.Add(
new Recipient(contactDialog.SelectedContact.Email1Address));
message.Subject = 'С днем рождения';
message.BodyText =
'Уважаемый Владимир Владимирович! Поздравляю вас с днем рождения!
Посылаю вам открытку с видами Петербурга. Ваша Люда.';
message.Attachments.Add(
new Attachment(@'My Documentspiter.jpg'));
using (OutlookSession session = new OutlookSession()) {
session.EmailAccounts[0].Send(message);
session.Dispose();
}
}
}
После запуска программы и нажатия кнопки Послать письмо
будет открыто стандартное окно Контакты
, где можно выбрать адресата. После выбора получателя по его электронному адресу будет отправлено электронное письмо с заданным содержанием.
Если надо отправить электронное письмо адресату, который не внесен в адресную книгу, то пример надо переработать. Новый код приведен в листинге 10.8.
private void butSendEmail2_Click(object sender, EventArgs e) {
Recipient recipient = new Recipient('[email protected]');
EmailMessage msg = new EmailMessage();