Читаем Программирование КПК и смартфонов на .NET Compact Framework полностью

private OutlookSession session;

public Form1() {

 InitializeComponent();

 // Создаем экземпляр сессии Pocket Outlook

 session = new OutlookSession();

}

Теперь программист получил доступ к коллекции событий через объект OutlookSession. Для коллекции Appointment создается соответствующая переменная, при помощи которой можно получить каждый элемент коллекции, что иллюстрирует код, приведенный в листинге 10.20.

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

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

Перейти на страницу:

Похожие книги

C++ Primer Plus
C++ Primer Plus

C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages.The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard.Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use.Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts.In C++ Primer Plus, you'll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning:• A new detailed chapter on the changes and additional capabilities introduced in the C++11 standard• Complete, integrated discussion of both basic C language and additional C++ features• Clear guidance about when and why to use a feature• Hands-on learning with concise and simple examples that develop your understanding a concept or two at a time• Hundreds of practical sample programs• Review questions and programming exercises at the end of each chapter to test your understanding• Coverage of generic C++ gives you the greatest possible flexibility• Teaches the ISO standard, including discussions of templates, the Standard Template Library, the string class, exceptions, RTTI, and namespaces

Стивен Прата

Программирование, программы, базы данных