// Создаем объект ListViewItem

  lvItems = new ListViewItem();

  // Разделяем полученные результаты по колонкам

  lvItems.Text = appt.Start.ToShortDateString();

  lvItems.SubItems.Add(appt.Start.ToShortTimeString());

  lvItems.SubItems.Add(appt.Subject);

  // Добавляем в ListView

  lvContacts.Items.Add(lvItems);

 }

 // He забываем закрыть сессию PocketOutlook

 session.Dispose();

}

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

Отсылка письма

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

В этом примере будет применен другой подход к дизайну программы. Так как средства навигации в смартфоне довольно скудны, желательно сводить к минимуму число нажатий на клавиши. Например, одна и та же клавиша может запускать разные функции.

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

Также потребуется изменить код из предыдущего примера. Нужно переместить код из обработчика события menuSoftKey1_Click в отдельный метод SelectContact(). Это делается для того, чтобы можно было более гибко настраивать программу под свои нужды. Соответствующий код приведен в листинге 10.21.

Листинг 10.21

private void SelectContact() {

 // Создаем экземпляр окна выбора контактов

 ChooseContactDialog contactDial = new ChooseContactDialog();

 // а также убираем возможность создания новых контактов

 contactDial.HideNew = true;

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

 if (contactDial.ShowDialog() == DialogResult.OK) {

  selContact = contactDial.SelectedContact;

  txtContact.Text = selContact.FileAs;

  menuSoftKey1.Text = Послать;

 }

}

Следует обратить особое внимание на строку

menuSoftKey1.Text = 'Послать';

Когда пользователь выберет пункт Контакты, а затем нужный контакт, то текст в пункте меню menuSoftKey1 меняется на строчку Послать. Также надо добавить новый пункт меню для очистки текстовых полей. Это позволит пользователю выбрать новый контакт для отправки письма. Надо открыть файл Form1.cs в дизайнере формы. На правой стороне меню к уже имеющемуся пункту Выход следует добавить новый пункт меню Очистить. Созданный пункт получит имя mnuClear. Код для метода mnuClear_Click приведен в листинге 10.22.

Листинг 10.22

private void mnuClear_Click(object sender, EventArgs e) {

 txtContact.Text = string.Empty;

 menuSoftKey1.Text = 'Контакты';

}

Это позволить очистить текстовое поле и в пункте меню menuSoftKey1 отобразить строку Контакты.

Теперь можно писать функцию, отправляющую электронное письмо. В примере сообщение будет отправляться с вложенными файлами. Для примера можно использовать одну из картинок, входящих в состав Windows Mobile 5.0.

Для отправки письма используется класс EmailMessage. Чтобы использовать этот класс в нашем примере, надо сначала установить ссылку на пространство имен System.Messaging, выполнив команду меню Project►Add Reference. После этого можно пользоваться данным пространством имен при помощи ключевого слова using:

using System.Messaging;

Код метода SendEmail(), который будет отвечать за отправку письма, приведен в листинге 10.23.

Листинг 10.23

private void SendEmail() {

 // Создаем экземпляр класса EmailMessage

 EmailMessage message = new EmailMessage();

 // Тема письма

 message.Subject = 'Поздравление';

 // Текст письма

 message.BodyText = 'Поздравляю с Днем Варенья!';

 // Выбираем адресата

 Recipient client = new Recipient(selContact.Email1Address);

 message.To.Add(client);

 // добавляем в письмо вложенный файл

 Attachment image = new Attachment(@'My DocumentsMy PicturesFlower.jpg');

 message.Attachments.Add(image);

 message.Send('ActiveSync');

 txtContact.Text = string.Empty;

 menuSoftKey1.Text = 'Контакты';

}

Итак, в методе SendEmail объявляется и создается экземпляр класса EmailMessage. В свойствах Subject и BodyText задаются тема и текст письма. Электронный адрес из выбранного контакта записывается в свойстве EmailMessage.То. Для этого создается экземпляр класса Recipient и передается свойство selContact.Email1Address.

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

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

0

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

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