Как да свържете двете форми на стека преливане на Руски

Допълнително друг пример, който се отнася до взаимодействието на родителски и дете форма. Form1.cs:

Резултатът трябва да се появи messadzhboks с "функция майка, наречена" на съобщението. Ако трябва да се отнася до форма елемент, не забравяйте да посочите видимостта, като по подразбиране е частен, което означава, че елементът не е достъпна от външната страна. В конструктора има свойства на даден елемент, определени Модификатори -> Обществени.

Отговорено 11 '11 декември в 16:27

Благодаря. И колко близо първата форма, чрез натискане на бутона? Правя this.Close и затваря цялата програма. - Святослав 11 декември '11 в 16:39

@ Десен Святослав е, защото това е родителят образуват Form1. Ако е необходимо да почистите екрана, използвайте Hide (). - LinuxFan 11 декември '11 в 16:48

И на последния въпрос. Защо когато затворя втората форма, отстраняване на грешки не спира? - Святослав 11 декември '11 в 16:59

Тъй като първата форма е отворен. Ако сте направили this.Hile команда (); Той е просто скрит (срина), за да го затворите се използва this.Close (); Или нещо съм разбрал по въпроса? - Angus123 11 декември '11 в 17:02

Първата форма е скрита, тя просто не се разглежда като ние го скрил, но програмата продължава да се изпълнява. Има 2 начина: 1. В случай на втората форма OnClosing повикване Show () за първата форма. 2. В случай на втората форма OnClosing причина Application.Exit (), след това ще спре отстраняване на грешки, но това не е логично, тъй като тя обикновено е от програмата го направи от основната форма. - LinuxFan 11 декември '11 в 17:08

Всъщност, това е съвсем проста. Копие от формата - това е инстанцията, така че ако имате нужда от достъп отвън до нещо във формата, просто направи съответната публична собственост (или областта, или метод - което предпочитате).

И най-важното, какво ще представляват копия са във видимост един с друг.

добре, как да се справя, според мен, е ясно и без обяснение, нали?

За да създадете форма на децата, принадлежащи към основната форма, трябва да възложите Собственик собственост на прозореца на детската връзката към основната форма, която е собственик на този прозорец.

Когато една форма, собственост на друга форма, тя е затворена или скрит с формата на собственика. Да вземем например под формата ФОРМА2, който принадлежи към формата Form1. Ако Form1 е затворен или минимизира, ФОРМА2 също е затворен или сведени до минимум. форми с деца също са показани никога зад собственика му.

* Сделки се извършват в рамките на класа на формата на дружество-майка, към МДМ се присъединява към дъщерно дружество. получен клас userForm на наследени от клас форма, трябва да бъде предварително обявен (тук пропуснато).

Сега, в зависимост от вашите нужди, можете да

  1. Доверете се процесът на премахване на колектора на прозореца дете боклук. В този случай, той ще бъде изтрит след затварянето на главния прозорец (ако програмистът не е предоставена от другата)

Извършва се контролирано отстраняване на прозореца на дете, след събитията, които се нуждаят, за тази цел в организма е необходимо за вас метод, който обработва появата на всякакви събития, които трябва, трябва да се уточни:

Сега, не е нужно да се притеснявате за това в паметта не се натрупва съсипа прозореца си софтуерно приложение, както и възможно във връзка с неочаквано изключение.

Благодаря за статията! В Делфи, и това е наистина много прост, и там имаше малко суматохата и да копаят. И най-накрая - Спечелете пари! Като цяло, има разбира се и други начини, но това ми се струва най-лесен и удобен. За прехвърлянето на параметри чрез събития и делегати, аз обикновено мълчи - това не е за начинаещи. Така че този вариант е чудесно за тези, които се нуждаят от лесно, бързо и ясно.