Cunoștințe, prelegere, crearea unei aplicații multi-fereastră

Scopul lucrării. Pentru a studia modurile de bază ale dezvoltării aplicațiilor cu mai multe ferestre. Obțineți abilități practice în crearea de aplicații cu mai multe ferestre.

Crearea unui formular pentru copii

Interfața MDI a aplicației este formatul părinte MDI. Aceasta este o formă care conține ferestre child MDI. Ferestrele copil sunt "sub-ferestrele" cu care utilizatorul interacționează în aplicația MDI. Crearea MDI a formularului părinte este descrisă în "Crearea meniului principal al aplicației".







Pentru a defini fereastra principală (Form1) ca formă părinte în fereastra Proprietăți. setați proprietatea IsMDIContainer la true. Aceasta definește forma ca container pentru MDI pentru formularele copilului. Pentru ca fereastra părinte să poată ocupa întregul ecran, proprietatea WindowsState trebuie să fie setată la Maxim.

Creați o altă fereastră care va fi copil (FormEmployee). Pentru a face acest lucru, selectați elementul de meniu Project / Add Windows Form.

Această fereastră trebuie apelată din meniul principal "Angajat". Inserați codul similar cu cele de mai jos pentru a crea un nou formular copil MDI atunci când utilizatorul face clic pe elementul de meniu. de exemplu "Angajat" - numele obiectului - employeeToolStripMenuItem (În exemplul de mai jos, pointerul evenimentului accesează evenimentul Click pentru employeeToolStripMenuItem_Click).

Acest handler va afișa fereastra copilului.

Crearea unui meniu într-o formă de copil

Adăugați o filială meniu fereastră "Action" (actionToolStripMenuItem) literele "Cancel" (undoToolStripMenuItem), "Create" (createToolStripMenuItem), "Edit" (editToolStripMenuItem), "Save" (saveToolStripMenuItem) și "Delete" (removeToolStripMenuItem). Înainte de punctul de a șterge, se introduce un separator (separator - name = toolStripSeparator1).

Adăugați fereastra copil un element de meniu mai multe „Raport“ (reportToolStripMenuItem) c literele „Potrivit angajatului“ (reportToolStripMenuItem1), „În conformitate cu tot personalul“ (reportToolStripMenuItem2). Fereastra copil va avea forma prezentată în figura 3.1

Cunoștințe, prelegere, crearea unei aplicații multi-fereastră


Fig. 3.1. Fereastră pentru copii cu meniu

În meniul principal, forma părinte (Form1) există elemente „obiect“, „Ghidul“ și „Help“. Forma copil (FormEmployee) meniu format „Acțiune“ și „Raport“. Când încărcați un copil formează meniul formelor părinte și copil trebuie să fie unită și să facă următoarea secvență: „obiect“, „acțiune“, „Raport“, „Ghidul“ și „Help“. Fuzionarea elementele de meniu produse prin specificarea valorilor și proprietăți MergeAction MergeIndex pentru obiecte ToolStripMenuItem.







Asigurați-vă că meniul principal fereastră pentru obiectul de proprietate objectToolStripMenuItem MergeAction a fost stabilit Append. și MergeIndex egal cu 0, iar pentru obiecte și dictionaryToolStripMenuItem helpToolStripMenuItem - respectiv 1 și 2. Având în vedere acest lucru, în „angajat“ pentru obiecte actionToolStripMenuItem (Acțiune) și „Raport“ proprietate (reportToolStripMenuItem) trebuie să fie setat valoarea MergeAction Inserare. și MergeIndex proprietate specifică numărul de serie al care determină poziția elementului de meniu, meniul principal actualizat. și anume 1 (după obiect objectToolStripMenuItem).

După compilarea programului, executându-l pentru a rula și invocând elementul de meniu "Angajat", ecranul ar trebui să arate ca cel prezentat în Figura 3.2.

Cunoștințe, prelegere, crearea unei aplicații multi-fereastră


Fig. 3.2. Fereastra copilului cu meniul conectat

Crearea de manageri pentru meniul formularului copil

Crearea unui element de meniu pentru fereastra copil ar trebui să inițieze punerea în aplicare a funcțiilor respective (Revocare, Creare, Editare, Salvare, și ștergeți) cererile în ceea ce privește obiectele unei anumite ferestre copil. Pentru o fereastră de copil „pe datele angajaților“, aceste funcții ar trebui să fie efectuate anuleze în mod corespunzător editarea datelor angajaților (funcția „Anulare“), pentru a crea noi date cu privire la angajat (funcția „Create“), edita datele angajatului (funcția „Edit“) pentru a salva creat funcţia nouă sau editat pentru angajat ( „Save“) și șterge datele angajatului ( „Remove“).

Funcționalitatea descrisă este utilă pentru implementarea în program sub formă de metode a clasei create de FormEmployee. În aplicație, trebuie să creați următoarele metode:

  • Renunțați - anulați;
  • Nou - creați;
  • Editați - editați;
  • Salvați - salvați;
  • Eliminați - ștergeți.

În stadiile inițiale de proiectare tind să întunece punerea în aplicare a fiecărei metode, de aceea este recomandabil să le efectueze ca metode de ciot, care informează utilizatorul numai apelului, și în viitor, este necesar să se scrie codul actual.

Pentru a crea metoda Undo în codul fișierului FormEmployee.cs, adăugați următoarea metodă:

Apoi, creați dispozitivul de tratare a evenimentului pentru elementul de meniu "Anulați". Pentru a face acest lucru, în formularul de formular al clasei FormEmployee, faceți dublu clic pe elementul de meniu "Undo". Mediul de instrumente VS va genera următorul cod:

În codul handlerului undoToolStripMenuItem_Click adăugăm apelul la metoda Undo:

Compilați aplicația și testați apelul Metode de anulare. Ca urmare a selectării elementului de meniu "Anulare", ar trebui afișată o casetă de dialog cu mesajul prezentat în Figura 3.3.

Cunoștințe, prelegere, crearea unei aplicații multi-fereastră


Fig. 3.3. Fereastra copilului cu meniul conectat

În mod similar, creați metode stub pentru funcțiile "Creați", "Modificați", "Salvați" și "Ștergeți".

Activitate de laborator

  1. Pentru a studia materialul teoretic.
  2. Creați o fereastră copil.
  3. Adăugați elemente de meniu în fereastra copil.
  4. Scrieți un handler pentru a apela din meniul principal al ferestrei copil.
  5. Creați coduri de metode stub pentru funcțiile aplicației.
  6. Creați dispozitive de manipulare pentru a apela elementele de meniu.
  7. Performanța aplicației de testare.






Articole similare

Trimiteți-le prietenilor: