использовались только основные свойства. Были указаны имя, фамилия, электронный адрес, день рождения, имя компании и ее веб-страница. После того как новый контакт будет добавлен в список, нужно закрыть сессию при помощи метода 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;

 // Выводим диалоговое окна на экран

 contactDialog.ShowDialog();

 // Показываем выбранный контакт

 MessageBox.Show(contactDialog.SelectedContactName, 'Выбранный контакт');

}

Электронная почта

Кроме получения доступа к списку контактов и добавления новых встреч, разработчик может также отсылать сообщения по электронной почте или через SMS.

Для этих целей используются соответствующие пространства имен Microsoft.WindowsMobile.PocketOutlook.EmailAccount и Microsoft.WindowsMobile.PocketOutlook.SmsAccount. Классы из этих пространств имен позволяют легко интегрировать отправку сообщений в ваши приложения. Например, класс EmailAccount позволяет создавать электронные письма и присоединять к ним файлы.

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

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

Листинг 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.

Листинг 10.8

private void butSendEmail2_Click(object sender, EventArgs e) {

 Recipient recipient = new Recipient('[email protected]');

 EmailMessage msg = new EmailMessage();

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату