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

на главную - закладки

Жанры

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

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

Шрифт:

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 Referenc
e. После этого можно пользоваться данным пространством имен при помощи ключевого слова
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 Documents\My Pictures\Flower.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
передается значение экземпляра.

Теперь для отправки письма все готово. Следует вызвать метод

message.Send
и очистить текстовое поле. Также надо восстановить в меню строку
Контакты
. Так как для
menuSoftKey1
используются два метода,
SendEmail
и
SelectContact
, то нужно определиться, когда какой метод следует использовать. Для этого нужно получить значение свойства
menuSoftKey1.Text
, как показано в листинге 10.24.

Листинг 10.24

private void menuSoftKey1Click(object sender, EventArgs e) {

 if (menuSoftKey1.Text == "Послать")

SendEmail;

 else

SelectContact;

}

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

Soft Key 1
. Можно выбрать любой контакт из имеющегося списка. После этого в текстовом поле появится выбранный контакт. При этом пункт меню обретет название
Послать
.

Затем надо снова нажать кнопку

Soft Key 1
. Кнопка
Soft Key 1
примет первоначальный вид, в меню будет отображаться строка Контакт, а текстовое поле будет очищено. Выходим из программы. Но нам надо убедиться, что письмо было отправлено. Поэтому следует перейти на экран
Сегодня
и нажать кнопку
Пуск
, после чего активировать пиктограмму
Сообщения
. В появившемся списке надо выбрать пункт
Эл.п. Outlook
, а из пункта
Меню
перейти в подменю Папки. Затем осталось перейти в папку
Исходящие
. В ней должно находиться новое сообщение.

Мелочь, а приятно

В блоге blogs.msdn.com/anthonywong/, который ведет Энтони Вонг (Anthony Wong), я нашел несколько интересных заметок, рассказывающих об исправленных ошибках или улучшенных возможностях, которые стали доступны в Windows Mobile 5.0.

Метод Directory.Exists

На устройствах под управлением Windows СЕ 4.X метод

Directory.Exists
по-разному обрабатывал имена путей, которые заканчивались обратным слэшем. В качестве примера можно рассмотреть следующее выражение:

Directory.Exists("\\temp");

Это выражение возвращает значение

True
, если папка
temp
существует. Добавим в предыдущее выражение символ обратной черты.

Directory.Exists("\\temp\\")

Теперь данный метод возвратит

False
, даже если папка существует. На устройствах под управлением Windows Mobile 5.0 платформа .NET Compact Framework исправила это противоречие, и теперь метод
Directory.Exists
возвращает
True
вне зависимости от наличия замыкающего обратного слэша.

Поделиться:
Популярные книги

Газлайтер. Том 10

Володин Григорий
10. История Телепата
Фантастика:
боевая фантастика
5.00
рейтинг книги
Газлайтер. Том 10

На границе империй. Том 7. Часть 2

INDIGO
8. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
6.13
рейтинг книги
На границе империй. Том 7. Часть 2

Звездная Кровь. Изгой

Елисеев Алексей Станиславович
1. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой

Хозяин Теней 4

Петров Максим Николаевич
4. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 4

Картофельное счастье попаданки

Иконникова Ольга
Фантастика:
фэнтези
5.00
рейтинг книги
Картофельное счастье попаданки

Экзорцист: Проклятый металл. Жнец. Мор. Осквернитель

Корнев Павел Николаевич
Фантастика:
фэнтези
героическая фантастика
5.50
рейтинг книги
Экзорцист: Проклятый металл. Жнец. Мор. Осквернитель

Доктора вызывали? или Трудовые будни попаданки

Марей Соня
Фантастика:
юмористическая фантастика
попаданцы
5.00
рейтинг книги
Доктора вызывали? или Трудовые будни попаданки

Метатель

Тарасов Ник
1. Метатель
Фантастика:
боевая фантастика
попаданцы
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель

Моя на одну ночь

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
5.50
рейтинг книги
Моя на одну ночь

Чехов. Книга 2

Гоблин (MeXXanik)
2. Адвокат Чехов
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Чехов. Книга 2

Хозяин Теней 2

Петров Максим Николаевич
2. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 2

Сумеречный стрелок 7

Карелин Сергей Витальевич
7. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный стрелок 7

Жизнь под чужим солнцем

Михалкова Елена Ивановна
Детективы:
прочие детективы
9.10
рейтинг книги
Жизнь под чужим солнцем

Красноармеец

Поселягин Владимир Геннадьевич
1. Красноармеец
Фантастика:
боевая фантастика
попаданцы
4.60
рейтинг книги
Красноармеец