Книга: Программирование КПК и смартфонов на .NET Compact Framework
Работа с адресной книгой
Разделы на этой странице:
Работа с адресной книгой
В этом разделе будет рассмотрен пример, в котором будет добавлена новая запись в объект Контакты. Для этого надо, как и прежде, добавить в проект ссылки на соответствующие сборки Miсrosoft.WindowsMobile.Forms
и Microsoft.WindowsMobilе.PocketOutlook
. А в редакторе кода надо добавить объявления для пространств имен Microsoft.WindowsMobilе.Forms
и Microsoft.WindowsMobile.PocketOutlook
сразу после существующих объявлений.
Теперь можно обращаться к Контактам через объект OutlookSession
. Чтобы добавить новый контакт в коллекцию Контакты, надо разместить на форме кнопку с именем butAddContact
и написать код, приведенный в листинге 10.2.
Листинг 10.2
private OutlookSession session;
public Form1() {
InitializeComponent();
// Создаем экземпляр сессии Pocket Outlook
session = new OutlookSession();
}
private void butAddContact_Click(object sender, EventArgs e) {
Contact contact = new Contact();
contact.FirstName = "Билл";
contact.LastName = "Гейтс";
contact.Email1Address = "[email protected]";
contact.Birthday = new DateTime(1955,10,28);
contact.CompanyName = "Microsoft";
contact.WebPage = new Uri("http://www.microsoft.com");
session.Contacts.Items.Add(contact);
}
Код очень прост и практически не требует комментариев. В начале работы создается переменная contact
, в которой можно задавать самые различные параметры. В этом примере использовались только основные свойства. Были указаны имя, фамилия, электронный адрес, день рождения, имя компании и ее веб-страница. После того как новый контакт будет добавлен в список, нужно закрыть сессию при помощи метода Dispose()
.
После запуска приложения следует нажать кнопку Добавить в Контакты
. В результате этого в списке Контакты
появится новая запись (рис. 10.6)
Рис. 10.6. Просмотр списка контактов
Но разработчик может не только добавлять, но и получать информацию из имеющегося элемента списка. Для этого на форму надо поместить список lstContacts
и кнопку butGetInfo
. Прежде чем получить информацию о нужном нам человеке, нужно сначала получить сам список контактов. И только потом, выбрав из этого списка нужную запись, можно получить дополнительную информацию. Для получения полного списка контактов нужно добавить код в обработчик события Form_Load
, как это показано в листинге 10.3.
Листинг 10.3
private void Form1_Load(object sender, EventArgs e) {
// Получаем список контактов
lstContacts.DataSource = session.Contacts.Items;
}
Теперь при загрузке формы список автоматически будет заполнен. Пользователь может выбрать любую запись и получить дополнительную информацию о выбранном контакте. Для этого в событии butGetInfo_Click
создается код, приведенный в листинге 10.4.
Листинг 10.4
private void butGetInfo_Click(object sender, EventArgs e) {
// Получим информацию о выбранном контакте
session.Contacts.Items[lstContacts.SelectedIndex].ShowDialog();
}
Когда пользователь выделит интересующую его запись и нажмет кнопку Получить информацию, на экран будет выведено стандартное диалоговое окно с информацией о выбранной записи.
Удалить контакт из списка еще проще, чем создать его. На форму надо добавить еще одну кнопку butDelContact
, с которой будет связан код, приведенный в листинге 10.5.
Листинг 10.5
private void butDelContactClick(object sender, EventArgs e) {
// Удаляем выбранный контакт
session.Contacts.Items[lstContacts.SelectedIndex].Delete();
}
Также из приложения можно вызвать стандартное окно выбора контакта, используемое программой Pocket Outlook. Теперь совсем не обязательно закрывать нашу программу и открывать окно контактов, как это было сделано при добавлении новой записи в список контактов.
Стандартное окно имеет некоторые дополнительные возможности, которые могут пригодиться разработчикам. Доступ к данному окну осуществляется через класс ChooseContactDialog
, как показано в листинге 10.6.
Листинг 10.6
private void butShowContactsClick(object sender, EventArgs e) {
ChooseContactDialog contactDialog = new ChooseContactDialog();
// Прячем пункт меню Новый контакт
contactDialog.HideNew = true;
// Выводим диалоговое окна на экран
contactDialog.ShowDialog();
// Показываем выбранный контакт
MessageBox.Show(contactDialog.SelectedContactName, "Выбранный контакт");
}
- Первый взгляд
- Подготовка к работе
- Microsoft.WindowsMobile.PocketOutlook
- Встречи (Appointment)
- Работа с адресной книгой
- Электронная почта
- SMS-сообщения
- Прием и обработка SMS-сообщений
- Телефония
- State and Notifications Broker
- Мультимедиа
- Выбор изображения
- Работа с фотокамерой
- Повторение пройденного
- Встречи
- Отсылка письма
- Мелочь, а приятно
- Практическая работа 53. Запуск Access. Работа с объектами базы данных
- Лекция 15. Работа с базами данных
- Работа с ресурсами локальной сети
- Эффективная работа с временными файлами сортировки
- Ускоренная работа с индексами
- HR-брендинг: Работа с поколением Y, новые инструменты для коммуникации, развитие корпоративной культуры и еще 9 эффектив...
- Безопасная работа с внешними таблицами
- Работа со строками
- 9.2. Работа прокси-сервера
- 3. Заработок для фотографов: заработать на фото – сайты фотобанков
- Работа с активным документом
- Работа с переменными