Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ КПК ΠΈ смартфонов Π½Π° .NET Compact FrameworkΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 30

Автор АлСксандр Климов

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, "Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚");

}

ЭлСктронная ΠΏΠΎΡ‡Ρ‚Π°

ΠšΡ€ΠΎΠΌΠ΅ получСния доступа ΠΊ списку ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² ΠΈ добавлСния Π½ΠΎΠ²Ρ‹Ρ… встрСч, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΡΡ‹Π»Π°Ρ‚ΡŒ сообщСния ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· SMS.

Для этих Ρ†Π΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ пространства ΠΈΠΌΠ΅Π½ Microsoft.WindowsMobile.PocketOutlook.EmailAccount ΠΈ Microsoft.WindowsMobile.PocketOutlook.SmsAccount. ΠšΠ»Π°ΡΡΡ‹ ΠΈΠ· этих пространств ΠΈΠΌΠ΅Π½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»Π΅Π³ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ сообщСний Π² ваши прилоТСния. НапримСр, класс EmailAccount позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ элСктронныС письма ΠΈ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»Ρ‹.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ дСмонстрируСтся Π²Ρ‹Π·ΠΎΠ² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ChooseContactDialog для Π²Ρ‹Π±ΠΎΡ€Π° Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ адрСсата ΠΈΠ· списка ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ элСктронноС письмо. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ создаст сообщСниС, Π² ΠΊΠΎΠ΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π° ΠΈ Ρ‚Π΅ΠΌΠ° письма.

Π’Π°ΠΊΠΆΠ΅ Π² письмо Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», послС Ρ‡Π΅Π³ΠΎ сообщСниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ Ρ€Π°Π½Π΅Π΅ Π»ΠΈΡ†Ρƒ. ВсС эти дСйствия ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ листингом 10.7.

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

   new Recipient(contactDialog.SelectedContact.Email1Address));

  message.Subject = "Π‘ Π΄Π½Π΅ΠΌ роТдСния";

  message.BodyText =

   "Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ΠΎΠ²ΠΈΡ‡! ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ вас с Π΄Π½Π΅ΠΌ роТдСния!

   ΠŸΠΎΡΡ‹Π»Π°ΡŽ Π²Π°ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΊΡƒ с Π²ΠΈΠ΄Π°ΠΌΠΈ ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³Π°. Π’Π°ΡˆΠ° Π›ΡŽΠ΄Π°.";

  message.Attachments.Add(

   new Attachment(@"\My Documents\piter.jpg"));

  using (OutlookSession session = new OutlookSession()) {

   session.EmailAccounts[0].Send(message);

   session.Dispose();

  }

 }

}

ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠŸΠΎΡΠ»Π°Ρ‚ΡŒ письмо Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ стандартноС ΠΎΠΊΠ½ΠΎ ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ адрСсата. ПослС Π²Ρ‹Π±ΠΎΡ€Π° получатСля ΠΏΠΎ Π΅Π³ΠΎ элСктронному адрСсу Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ элСктронноС письмо с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ содСрТаниСм.

Если Π½Π°Π΄ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ элСктронноС письмо адрСсату, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ внСсСн Π² Π°Π΄Ρ€Π΅ΡΠ½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π°Π΄ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Новый ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² листингС 10.8.

Листинг 10.8

private void butSendEmail2_Click(object sender, EventArgs e) {

 Recipient recipient = new Recipient(" [email protected]");

 EmailMessage msg = new EmailMessage();


 // ΠšΠΎΠΌΡƒ письмо

 msg.To.Add(recipient);

 // Π’Π΅ΠΌΠ° письма

 msg.Subject = "О вашСй ΠΊΠ½ΠΈΠ³Π΅";

 // ВСкст письма

 msg.BodyText = "Бпасибо Π·Π° ΠΊΠ½ΠΈΠ³Ρƒ";

 msg.Send("ActiveSync");

}

SMS-сообщСния

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° SMS-сообщСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй Ρ‚ΠΎΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ проста. Π­Ρ‚ΠΈ сообщСния вСсьма популярны Ρƒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ². РаньшС для отсылки ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ° SMS

ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСуправляСмый ΠΊΠΎΠ΄, ΠΎΡ‡Π΅Π½ΡŒ слоТный для восприятия Π½Π΅ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ программистом. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΎΡ‚ΡΡ‹Π»Π°ΡŽΡ‰ΠΈΠΉ сообщСниС, Π½Π΅ слоТнСС, Ρ‡Π΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ само сообщСниС, Ρ‡Ρ‚ΠΎ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ листинг 10.9.

Листинг 10.9.

private void butSendSMS_Click(object sender, EventArgs e) {

 ChooseContactDialog contactDialog = new ChooseContactDialog();

 contactDialog.Title = "Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ получатСля";

 if (contactDialog.ShowDialog() == DialogResult.OK) {

  // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ SMS-сообщСниС

  SmsMessage message = new SmsMessage(

   contactDialog.SelectedContact.MobileTelephoneNumber,

   "ΠšΡƒΠΏΠΈ Ρ…Π»Π΅Π±Π°. Π–Π΅Π½Π°");

  message.RequestDeliveryReport = true;

  // ΠŸΠΎΡΡ‹Π»Π°Π΅ΠΌ сообщСниС

  message.Send();

 }

}

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ SMS-сообщСниС ΠΎΡ‚ΡΡ‹Π»Π°Π»ΠΎΡΡŒ адрСсату, Ρ‡ΡŒΡ запись ΡƒΠΆΠ΅ имСлась Π² адрСсной ΠΊΠ½ΠΈΠ³Π΅. Если ΠΆΠ΅ трСбуСтся ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΊΠ½ΠΎ ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹, Ρ‚ΠΎ придСтся Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.

Π—Π΄Π΅ΡΡŒ я Ρ…ΠΎΡ‡Ρƒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСбольшоС отступлСниС ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π²Π°ΠΌ большой сСкрСт. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ SMS-сообщСния самому сСбС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ эмулятора! Если ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ SMS-сообщСниС ΠΈΠ· эмулятора Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ 4250010001, Ρ‚ΠΎ ΠΎΠ½ΠΎ вСрнСтся Π½Π° эмулятор (рис. 10.7).

Π˜Ρ‚Π°ΠΊ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ SMS-сообщСниС Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, Ρ‡ΡŒΡ учСтная запись Π½Π΅ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Π° Π² спискС ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠ΄, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π² листингС 10.10.

ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•

ΠŸΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ прилоТСния Π² эмуляторС Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ устройство Ρ‚ΠΈΠΏΠ° Β«Phone EditionΒ». Если ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ эмуляторС, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ сообщСниС ΠΎΠ± ошибкС Β«Could not load sms.dllΒ». Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, это Π½Π΅ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Если эмулятор Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ SMS-сообщСниС?

Листинг 10.10

private void butSendSMS2_Click(object sender, EventArgs e) {

 SmsMessage message = new SmsMessage();

 // НомСр получатСля

 message.To.Add(new Recipient("4250010001"));

 // ВСкст сообщСния

 message.Body = "Позвони Π΄ΠΎΠΌΠΎΠΉ";

 // ΠŸΠΎΡΡ‹Π»Π°Π΅ΠΌ сообщСниС

 message.Send();

}

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этого ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° рис. 10.7.

Рис. 10.7. ΠŸΡ€ΠΈΠ΅ΠΌ SMS-сообщСния

ΠŸΡ€ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° SMS-сообщСний