In acest articol, vom crea un alt exemplu de tip “Hello World”, care va continua articolul precedent, in care am dezvoltat o aplicatie bazata pe Windows Mobile 6 Standard SDK. Exemplul pe care il propun va fi dezvoltat pe platforma Windows Mobile 6 Professional SDK, si va constitui o aplicatie touchscreen. Vom introduce de la tastatura virtuala a dispozivului mobil un text, care apoi va fi afisat prin apasarea unui buton direct pe ecranul dispozitvului.
FILE – NEW PROJECT
Alegem din Project types limbajul Visual C#, categoria Smart Device. In partea dreapta, selectam template-ul din Visual Studio, Smart Device Project.
Va urma a doua fereastra, unde va trebui sa alegem platforma pe baza caruia vom dezvolta aplicatia, versiunea de .Net Compact Framework si tipul aplicatiei. In exemplu nostru, singura deosebire fata de precedentul, va fi doar versiunea platformei, Windows Mobile 6 Professional SDK.
Forma “blank” pe care vom dezvolta, va arata astfel:
Butonul X nu va inchide aplicatia, ci o va face sa ruleze in bacgkround, aducand “in fata” o alta aplicatie.
Vom modifica proprietate Text, pentru a denumi aplicatia Hello World.
Proprietatea MinimizeBox a formei, setata False, va inchide aplicatia cand se va apasa butonul OK, aparut in locul butonului X.
Dupa cum ne-am obisnuit, in partea stanga vor aparea controale disponibile pentru construirea unei interfete pentru utilizator. In partea dreapta, vor fi continute fisierele solutiei.
Observam cateva controale care nu erau disponibile cand am creat aplicatia Standard: Context Menu, Document List, TrackBar, etc.
Vom folosi prin drag and drop un control textbox, un buton, o eticheta si un trackbar. Navigam in codul din spatele formei (View Code), in constructorul formei, unde vom stabili pozitia cursorului la incarcarea formei.
//focus pe textbox
txtMesaj.Focus();
Tot in constructorul formei, vom apela metoda AscundeControale, pentru a nu afisa controalele buton si trackbar la incarcarea formei.
//metoda pentru ascunderea controalelor private void AscundeControale() { btnAfiseaza.Hide(); trackBar.Hide(); }
Aplicatia va arata astfel:
Pentru a introduce text, in modul touchscreen, vom folosi tastatura virtuala, care este apelata prin butonul ce afiseaza tastatura.
//metoda apelata la schimbarea textului din textbox private void txtMesaj_TextChanged(object sender, EventArgs e) { btnAfiseaza.Show(); //daca nu este introdus nici un caracter in textbox //butonul afiseaza va fi ascuns if (txtMesaj.Text.Length == 0) { btnAfiseaza.Hide(); } }
Cand lungimea textbox-ului va fi cel putin egala cu 1, adica va fi introdus cel putin un caracter, va fi afisat butonul Afisare.
Cand va fi apasat butonul Afisare, vom afisa cu ajutorul etichetei textul din textbox si vom afisa controlul trackbar, care va redimensiona dimensiunea etichetei.
//metoda apelata la click-ul butonului private void btnAfiseaza_Click(object sender, EventArgs e) { //preia textul din textbox lblAfiseaza.Text = txtMesaj.Text; //afisam controlul trackbar trackBar.Show(); }
Controlul trackbar este specific dispozitivelor touchscreen. Daca ii mutam cursorul de la stanga la dreapta, dimensiunea fontului textului din textbox se va mari.
//metoda apelata la schimbarea starii trackbar-ului private void trackBar_ValueChanged(object sender, EventArgs e) { //preluam valoare pentru fiecare pas int value = trackBar.Value; //construim un nou font pentru eticheta, //in functie de valoarea trackbar-ului lblAfiseaza.Font = new Font(FontFamily.GenericSansSerif, value+10, FontStyle.Bold); }
La rularea aplicatiei, va aparea lista emulatoarelor disponibile, catre care vom facee deplyment-ul aplicatiei.
Eu voi alege USA Wndows Mobile 6.5 Professional Portrait WQVGA Emulator, voi puteti opta pentru un altul. Reamintesc faptul ca, emulatoarele pentru Windows Mobile 6.5 Professional sunt disponibile deoarece, anterior, am instalat DTK (Windows Mobile 6.5 Professional Developer Tool Kit).
In cazul in care, de cele mai multe ori, folositi acelasi emulator, poate nu doriti ca la fiecare rulare sa apara aceasta fereastra: debifati optiunea: Show me this dialog each time I deploy the application.
Dupa ce am apasat butonul Deploy, emulatorul va porni si va arata astfel:
Dupa sfarsitul deployment-ului, se va incarca aplicatia noastra. Se observa faptul ca am setat ca focusul sa fie pe textbox, astfel vom putea introduce text, fara un click anterior in textbox.
Pentru a opri aplicatia, apasam butonul X, din partea de sus a formei.
In acest scurt exemplu HelloWorld pentru o aplicatie de tip touchscreen, construita cu Windows Mobile Professional SDK 6, am evidentiat faptul ca in aplicatiile touchscreen nu avem nevoie de butoanele dispozitivului pentru accesarea controalelor, ci accesul la interfata utilizatorului se face direct, prin apasarea acestora prin intermediul ecranului dispozitivului.
Solutia completa a acestui exemplu poate fi descarcata de aici.