Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework
- Название:Программирование КПК и смартфонов на .NET Compact Framework
- Автор:
- Жанр:
- Издательство:Питер
- Год:2007
- Город:Санкт-Петербург
- ISBN:978-5-91180-270-7
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework краткое содержание
Мобильные устройства все активнее вторгаются в нашу жизнь. Карманные компьютеры и смартфоны давно утратили статус дорогих игрушек и перекочевали в разряд необходимых устройств. Значит, для них необходимо создавать программное обеспечение. Так почему вы должны оставаться в стороне?
Прочитав эту книгу, вы получите знания, которые позволят вам уверенно создавать программы для карманных компьютеров и смартфонов. А огромное количество разнообразных примеров поможет быстро совершенствоваться и развиваться, обогащая свой опыт работы.
Книга предназначена для начинающих программистов.
Программирование КПК и смартфонов на .NET Compact Framework - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
После создания нового проекта на форме надо разместить элемент ListView
. Свойство View
должно получить значение Details
. В коллекции Columns
надо задать заголовки Дата
, Время
и Тема
(рис. 10.12). Прежде всего потребуется задать переменную для экземпляра сессии Outlook. Сразу же после вызова метода InitializeComponent
в конструкторе формы объявляем экземпляр для сессии PocketOutlook
, как показано в листинге 10.19.

Рис. 10.12. Внешний вид приложения
private OutlookSession session;
public Form1() {
InitializeComponent();
// Создаем экземпляр сессии Pocket Outlook
session = new OutlookSession();
}
Теперь программист получил доступ к коллекции событий через объект OutlookSession
. Для коллекции Appointment
создается соответствующая переменная, при помощи которой можно получить каждый элемент коллекции, что иллюстрирует код, приведенный в листинге 10.20.
private void menuAppointments_Click(object sender, EventArgs e) {
AppAppts = session.Appointments.Items;
// Проходим через все элементы коллекции
foreach (Appointment appt in AppAppts) {
// Создаем объект 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.
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.
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.
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.
private void menuSoftKey1Click(object sender, EventArgs e) {
if (menuSoftKey1.Text == "Послать")
SendEmail();
else
SelectContact();
}
Настало время проверить нашу программу. После запуска приложения надо выбрать адресата, которому предназначено письмо. Для отображения окна выбора контакта следует нажать кнопку Soft Key 1
. Можно выбрать любой контакт из имеющегося списка. После этого в текстовом поле появится выбранный контакт. При этом пункт меню обретет название Послать
.
Интервал:
Закладка: