Но разработчик может не только добавлять, но и получать информацию из имеющегося элемента списка. Для этого на форму надо поместить список lstContacts
butGetInfo. Прежде чем получить информацию о нужном нам человеке, нужно сначала получить сам список контактов. И только потом, выбрав из этого списка нужную запись, можно получить дополнительную информацию. Для получения полного списка контактов нужно добавить код в обработчик события Form_Load, как это показано в листинге 10.3.private void Form1_Load(object sender, EventArgs e) {
// Получаем список контактов
lstContacts.DataSource = session.Contacts.Items;
}
Теперь при загрузке формы список автоматически будет заполнен. Пользователь может выбрать любую запись и получить дополнительную информацию о выбранном контакте. Для этого в событии butGetInfo_Click
private void butGetInfo_Click(object sender, EventArgs e) {
// Получим информацию о выбранном контакте
session.Contacts.Items[lstContacts.SelectedIndex].ShowDialog();
}
Когда пользователь выделит интересующую его запись и нажмет кнопку Получить информацию, на экран будет выведено стандартное диалоговое окно с информацией о выбранной записи.
Удалить контакт из списка еще проще, чем создать его. На форму надо добавить еще одну кнопку butDelContact
private void butDelContactClick(object sender, EventArgs e) {
// Удаляем выбранный контакт
session.Contacts.Items[lstContacts.SelectedIndex].Delete();
}
Также из приложения можно вызвать стандартное окно выбора контакта, используемое программой Pocket Outlook. Теперь совсем не обязательно закрывать нашу программу и открывать окно контактов, как это было сделано при добавлении новой записи в список контактов.
Стандартное окно имеет некоторые дополнительные возможности, которые могут пригодиться разработчикам. Доступ к данному окну осуществляется через класс ChooseContactDialog
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.
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(