Предаване на стойности от модална форма към родителска форма vb.net

Опитвам се да предам информация към родителска форма от модална форма в приложение vb.net winforms.

1.) Създадох копие на формуляр и го показах с помощта на следния код.

dim f=new frmParent()
f.show()

2.) В зависимост от условията бутон на frmParent отваря модална дъщерна форма и пита за някаква информация. Използвах следния код за това:

dim f = new ChildForm()
f.showDialog()

И двата кода работят добре. Когато потребителското натискане записва в дъщерна форма, трябва да затворя childForm и да използвам стойностите на потребителския тип в родителска форма. Знам как да затворя дъщерния формуляр, но не съм сигурен как да предам информация от дъщерен формуляр към родителски формуляр.


person KoolKabin    schedule 11.08.2011    source източник
comment
можете да имате публична собственост върху детето, от което родителят чете, както в примера на Дейвид Стийл; можете да предадете на детето препратка към главния формуляр и да го накарате да зададе свойство или да извика функция на родителския формуляр; можете да накарате родителя да предаде препратка към нещо, което да съхранява данните, или Func‹›, която може да бъде извикана от детето, за да зададе данните; можете също така да имате събитие в дъщерния формуляр, към който родителският формуляр се прикачва, преди да зареди дъщерния... вероятно други, но те са тези, които идват на ум първи.   -  person shelleybutterfly    schedule 11.08.2011


Отговори (1)


Имайте публично свойство на вашия childForm

Public Property MyData As MyType

Тогава, когато покажете формата, която можете да направите

dim f as new ChildForm()

If f.showDialog = DialogResult.OK Then
   Data = f.MyData()
End if

Ако трябва да им позволите да могат да редактират тези данни отново, тогава може също да помислите за предаване на данните към конструктора на диалоговия прозорец.

person David Steele    schedule 11.08.2011
comment
thnx... сработи gr8... предположих, че тъй като дъщерната форма вече е затворена, няма да можем да получим стойности от нейните свойства или променливи.... - person KoolKabin; 11.08.2011
comment
Добри новини. Все още можете да осъществявате достъп до публичните свойства на формулярите, докато вашата променлива на формуляра (в този случай f) излезе извън обхвата. - person David Steele; 11.08.2011