Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Hello World – Professional SDK

     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.

MobileApplicationProject

     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.

ProfessionalMobileApplication

     Forma “blank” pe care vom dezvolta, va arata astfel:

xButton

     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:

first app

     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.

emulaters

     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:

loading

     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.

Category: Uncategorized

Your email address will not be published. Required fields are marked *

*