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

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

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

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° создаСтся стандартная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ привСтствиС Π½Π° экран. На Ρ„ΠΎΡ€ΠΌΠ΅ Π½Π°Π΄ΠΎ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Button ΠΈ элСмСнт Label для отобраТСния надписи. Π’Π°ΠΊΠΆΠ΅ потрСбуСтся Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события Click созданной ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² листингС 2.1.


Листинг 2.1

private void butSayHello_Click(object sender, EventArgs e) {

 lblHello.Text = "Здравствуй, ΠΌΠΈΡ€!";

}

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Start Debugging ΠΈΠ»ΠΈ клавиши быстрого Π²Ρ‹Π·ΠΎΠ²Π° F5. ΠŸΡ€ΠΈ этом Π½Π° экранС появится Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Deploy (рис. 2.2).

Рис. 2.2. Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Deploy

Π’ основном спискС ΠΎΠΊΠ½Π° пСрСчислСны устройства, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ написанная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ прилоТСния ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ устройствС, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ эмулятора. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ эмуляторы ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ части Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ устройствС. Π›Π΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ созданиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для КПК совсСм Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия ΠΊΠ°Ρ€ΠΌΠ°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Автор Π½Π΅ Ρ€Π°Π· Π±Ρ‹Π» свидСтСлСм Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° своСм сайтС признавался, Ρ‡Ρ‚ΠΎ написал ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π΅ имСя КПК. А ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠ»ΠΈ Π°Π²Ρ‚ΠΎΡ€Π° Π·Π° Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π»ΠΈ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π½Π° своих Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… модСлях.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· этой ΠΊΠ½ΠΈΠ³ΠΈ сначала Π·Π°ΠΏΡƒΡΠΊΠ°Π»ΠΈΡΡŒ Π½Π° эмуляторС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ любой эмулятор ΠΈΠ· ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ списка. Π§Π°Ρ‰Π΅ всСго примСняСтся эмулятор Pocket PC 2003 SE. ПослС Π²Ρ‹Π±ΠΎΡ€Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ значСния Π² спискС Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Deploy. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π° экранС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ сам эмулятор (рис. 2.3), Π° спустя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π² эмуляторС Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° созданная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

Рис. 2.3. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ запуск эмулятора

ΠœΡ‹ΡˆΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ с надписью ΠŸΠΎΠ·Π΄ΠΎΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ появится строка Здравствуй, ΠΌΠΈΡ€! (рис. 2.4).

Рис. 2.4. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ сообщСния

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ Π² свои силы, Π²Π°ΠΌ захочСтся Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ свои старыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° Π‘# ΠΈΠ»ΠΈ Visual Basic .NET, для ΠΊΠ°Ρ€ΠΌΠ°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². Но Ρ‚ΠΎΡ€ΠΎΠΏΠΈΡ‚ΡŒΡΡ всС ΠΆΠ΅ Π½Π΅ стоит. ΠœΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»Π½ΠΎΠΉ вСрсиСй .NET Framework ΠΈ .NET Compact Framework сущСствуСт довольно ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ придСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ.

Кнопки ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ закрытия Ρ„ΠΎΡ€ΠΌΡ‹

ΠŸΡ€ΠΈ создании пустой Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ отобраТаСтся всСго ΠΎΠ΄Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ вмСсто ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ свСртывания, восстановлСния ΠΈ закрытия Ρ„ΠΎΡ€ΠΌΡ‹. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ крСстика ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ закрытия Ρ„ΠΎΡ€ΠΌΡ‹ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… прилоТСниях. Π£ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов это ΠΏΠΎΠ½Π°Ρ‡Π°Π»Ρƒ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅Π΄ΠΎΡƒΠΌΠ΅Π½ΠΈΠ΅. Бтандартная модСль повСдСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΠΊΠ°Ρ€ΠΌΠ°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ устроСна Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ с крСстиком, Ρ‚ΠΎ ΠΎΠ½ сворачиваСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π° Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΅Π΅. Об этом Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True свойства Ρ„ΠΎΡ€ΠΌΡ‹ MinimizeBox. Если для этого свойства Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False, Ρ‚ΠΎ вмСсто ΠΊΠ½ΠΎΠΏΠΊΠΈ с крСстиком Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ° OK (рис. 2.5). ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° эту ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Рис. 2.5. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ OK

Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈ позиция Ρ„ΠΎΡ€ΠΌΡ‹

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ любая Ρ„ΠΎΡ€ΠΌΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ вСсь экран. Π•Π΅ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ Π»Π΅Π²Ρ‹ΠΉ ΡƒΠ³ΠΎΠ» находится Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (0, 26). Если ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ значСния свойства Location, Ρ‚ΠΎ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ эти ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΈ Π²Π΅Ρ€Π½Π΅Ρ‚ значСния. Π§Ρ‚ΠΎ ΠΆΠ΅ касаСтся Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ всС ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ высоту ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹. Но Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ подобная Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ встрСчаСтся Ρ€Π΅Π΄ΠΊΠΎ, поэтому ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π·Π°ΠΎΡΡ‚Ρ€ΡΡ‚ΡŒ Π½Π° этом Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.

МСню

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² создаваСмой Ρ„ΠΎΡ€ΠΌΠ΅ ΡƒΠΆΠ΅ содСрТится элСмСнт управлСния MainMenu. Однако Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠ½ Π½Π΅ примСнялся. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот элСмСнт управлСния, Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ простоС мСню с ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ. Π’ области Component tray Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΡ‹ΡˆΡŒΡŽ элСмСнт mainMenu1. На Ρ„ΠΎΡ€ΠΌΠ΅ появится надпись Type here. Π’ этой области Π½ΡƒΠΆΠ½ΠΎ ввСсти слово Β«ΠŸΠΎΠ·Π΄ΠΎΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡΒ». Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события menuItem1_Click Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вызывался ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ. Код ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² листингС 2.2.

Листинг 2.2

private void menuItem1_Click(object sender, EventArgs e) {

 lblHello.Text = "Здравствуй, ΠΌΠΈΡ€!";

}

ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ созданный ΠΏΡƒΠ½ΠΊΡ‚ мСню располагаСтся Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части экрана, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… мСню располагаСтся Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π° (рис. 2.6).

Рис. 2.6. МСню Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части ΠΎΠΊΠ½Π°

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ мСню Π² прилоТСниях для Pocket PC располагаСтся Π½Π΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅, Π° Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡. Π’Π°ΠΊΠΆΠ΅ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡ находится Π·Π½Π°Ρ‡ΠΎΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ SIP для Π²Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ запускаСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π΅Π³ΠΎ мСню появляСтся Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡. Но Ссли ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ мСню ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚ΠΎ ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ панСль Π·Π°Π΄Π°Ρ‡ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ (рис. 2.7).

Рис. 2.7. Π­ΠΊΡ€Π°Π½ Π±Π΅Π· ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡

ПанСль ввода SIP

Π’ этой Π³Π»Π°Π²Π΅ ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»Π°ΡΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠ°Ρ€ΠΌΠ°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ встроСнных ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ для Π²Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ВмСсто ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π² этом случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ панСль Π²Π²ΠΎΠ΄Π° SIP (Software Input Panel), которая позволяСт Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ тСкст (рис. 2.8).

Рис. 2.8. Активированная панСль Π²Π²ΠΎΠ΄Π° SIP

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ Π² .NET Compact Framework ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ класс InputPanel. Π’Π°ΠΊ ΠΊΠ°ΠΊ панСль Π²Π²ΠΎΠ΄Π° находится Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ панСль Π·Π°Π΄Π°Ρ‡ Π±Ρ‹Π»Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ. А Ρ€Π°Π½Π΅Π΅ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Ρ‡Ρ‚ΠΎ, Ссли Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ мСню, Ρ‚ΠΎ панСль Π·Π°Π΄Π°Ρ‡ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠ°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ создания экзСмпляра класса InputPanel Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ мСню, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ сообщСниС ΠΎΠ± ошибкС.

Бтилус вмСсто ΠΌΡ‹ΡˆΠΈ

ΠŸΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ число ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠΉ вСрсии Windows ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΡ‹ΡˆΡŒΡŽ. Π’ ΠΊΠ°Ρ€ΠΌΠ°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Ρ€ΠΎΠ»ΡŒ ΠΌΡ‹ΡˆΠΈ выполняСт ΡΡ‚Π΅Ρ€ΠΆΠ΅Π½ΡŒ ΠΈΠ· пластика, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ стилусом. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρƒ стилуса Π½Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ для Π²Ρ‹Π·ΠΎΠ²Π° контСкстного мСню. Π£ Π½Π΅Π³ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π΅Ρ‚.

ВмСсто ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² ΠΊΠ°Ρ€ΠΌΠ°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… примСняСтся тСхнология Tap-and-Hold. Для выдСлСния элСмСнта управлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ‡ΠΈΠΊΠΎΠΌ стилуса. По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ΠΌΡ‹ΡˆΡŒΡŽ, ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ экрану (Click), Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° экран ΠΈ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ стилус Π½Π° мСстС (Press).

Π“Π»Π°Π²Π° 3

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния

Бходство ΠΈ различия

НСсмотря Π½Π° свою ΡΡ…ΠΎΠΆΠ΅ΡΡ‚ΡŒ, .NET Compact Framework уступаСт Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ .NET Framework. Π­Ρ‚ΠΎ относится ΠΈ ΠΊ элСмСнтам управлСния. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΊΠ½ΠΎΠΏΠΊΠΈ, списки ΠΈ тСкстовыС поля всС ΠΆΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² мобильной вСрсии. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² .NET Compact Framework 2.0 Π±Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΅Ρ‰Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ отсутствовали Π² NET Compact Framework 1.0.

Рис. 3.1. Бвойства, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π² .NET Compact Framework

НуТно ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ элСмСнты управлСния ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΡ€ΠΎΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ возмоТности. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ свойства, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ события Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ элСмСнтом управлСния, Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½ΡƒΡŽ систСму, Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΉ класс ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС Ρ‡Π»Π΅Π½Ρ‹ класса. Если Π½ΡƒΠΆΠ½ΠΎΠ΅ свойство поддСрТиваСтся Π² .NET Compact Framework, Ρ‚ΠΎ Ρƒ Π΅Π³ΠΎ описания Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΎΠΊ мобильного устройства (рис. 3.1). Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ страницу с описаниСм класса Registry. Π›Π΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ поля CurrentUser, LocalMachine ΠΈ Users ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² .NET Compact Framework, Π° поля DynData ΠΈ PerfomanceData β€” Π½Π΅Ρ‚.

Но Π΄Π°ΠΆΠ΅ Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ поддСрТиваСтся Π² .NET Compact Framework, Ρ‚ΠΎ всС Ρ€Π°Π²Π½ΠΎ слСдуСт Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π΅Π³ΠΎ описаниСм. НапримСр, ΠΏΠΎΠ»Π΅ LocalMachine поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² NET Compact Framework 2.0, поэтому ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, стоит Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это ΠΏΠΎΠ»Π΅ (рис. 3.2).

Рис. 3.2. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ вСрсий .NET Compact Framework

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ спискС пСрСчислСны элСмСнты управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ входят Π² состав классов Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ .NET Compact Framework 1.0:

β–‘ CheckedListBox;

β–‘ ColorDialog;

β–‘ ErrorProvider;

β–‘ FontDialog;

β–‘ GroupBox;

β–‘ HelpProvider;

β–‘ LinkLabel (поддСрТиваСтся Π² .NET Compact Framework 2.0);

β–‘ NotificationBubble;

β–‘ NotifyIcon;

β–‘ элСмСнты управлСния, связанныС с ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒΡŽ;

β–‘ RichTextBox;

β–‘ Splitter (поддСрТиваСтся Π² .NET Compact Framework 2.0).

Π’ Compact .NET Framework 2.0 Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ элСмСнты управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ пСрСчислСны Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ спискС.