Cum de a lega cele două forme de preaplin stivă în limba rusă
În continuare un alt exemplu care se referă la interacțiunea formei parentale si a copilului. Form1.cs:
Rezultatul ar trebui să apară messadzhboks cu „Funcția mamă Numit“ mesaj. Dacă trebuie să se refere la un element de formă, nu uitați să specificați vizibilitatea, deoarece implicit privat, adică, elementul nu este accesibil din exterior. În constructorul au proprietăți ale unui element set Modificatorii -> Public.
Răspuns 11 '11 decembrie la 16:27
Mulțumesc. Și cât de aproape prima formă, prin apăsarea butonului? Eu fac this.Close și închide întregul program. - Svyatoslav 11 decembrie '11 la 16:39
@ Dreptul Svyatoslav lui, pentru că este forma părintele Form1. Dacă trebuie să curățați ecranul, utilizați Hide (). - LinuxFan 11 decembrie '11 la 16:48
Și ultima întrebare. De ce când închid a doua formă, depanare nu se oprește? - Svyatoslav 11 decembrie '11 la 16:59
Deoarece prima formă este deschisă. Dacă ați făcut this.Hile comandă (); Este pur și simplu ascuns (sa prăbușit), pentru a închide este utilizat this.Close (); Sau ceva ce am înțeles greșit în această privință? - Angus123 11 '11 decembrie la 17:02
Prima formă este ascunsă, nu este pur și simplu văzută ca l-am ascuns, dar programul continuă să ruleze. Există 2 moduri: 1. În cazul în care a doua formă OnClosing arată apel () pentru prima formă. 2. În cazul în care a doua formă OnClosing cauză Application.Exit (), apoi opriți de depanare, dar nu este logic, deoarece este, de obicei, în afara programului fac din forma părinte. - LinuxFan 11 decembrie '11 la 17:08
Este de fapt destul de simplu. O copie a formularului - este un exemplu de clasă, așa că, dacă aveți nevoie pentru a avea acces din exterior la ceva în interiorul formei, face doar proprietatea publică corespunzătoare (sau domeniu, sau metoda - oricare dintre acestea preferați).
Și cel mai important, ceea ce s-ar forma de exemplare au fost în vedere unul pe altul.
bine, cum să se ocupe, cred, este clar și fără nici o explicație, nu?
Pentru a crea un formular copil, care aparține forma principală, trebuie să alocați proprietar de fereastra copil link-ul de la forma principală, care este proprietarul fereastra copil.
Atunci când o formă deținută de o altă formă, acesta este închis sau ascunse cu forma proprietarului. De exemplu, ia în considerare forma Form2, care face parte din formularul Form1. Dacă Form1 este închis sau redusă la minimum, Form2 este, de asemenea, închise sau reduse la minimum. Formele sunt, de asemenea, pentru copii niciodată afișate în spatele proprietarului formularului.
* Tranzacțiile sunt executate în cadrul clasei formei corpului mamă la MDM se alătură filialei. Userform clasă derivată moștenită de la Forma de clasă, trebuie să fie anunțate în prealabil (aici omise).
Acum, în funcție de nevoile dumneavoastră, puteți
- Aveți încredere în procesul de eliminare a colectorului de gunoi fereastra copil. În acest caz, acesta va fi șters după închiderea ferestrei principale (în cazul în care programatorul nu este furnizat de cealaltă)
Efectuați o eliminare controlată a ferestrei copilului, după evenimentele de care aveți nevoie, în acest scop, în corpul necesar pentru tine metoda care se ocupă de debutul orice evenimente care aveți nevoie, trebuie să specificați:
Acum, nu aveți nevoie să vă faceți griji cu privire la faptul că în memorie nu se acumuleaza distrus fereastra aplicației software, precum și posibil, în legătură cu excepția neașteptată.
Multumesc pentru articol! În Delphi, și a fost într-adevăr destul de simplu, și nu a avut un pic de forfotă și Dig. Și, în sfârșit - câștiga bani! În general, există desigur și alte moduri, dar acest lucru mi se pare cel mai simplu și convenabil. Despre transferul parametrilor prin intermediul evenimentelor și delegați, în general, am să tac - acest lucru nu este pentru incepatori. Deci, această opțiune este mare pentru cei care au nevoie de un simplu, rapid și clar.