Передача значений из модальной формы в родительскую форму vb.net

Я пытаюсь передать информацию в родительскую форму из модальной формы в приложении vb.net winforms.

1.) Я создал копию формы и отобразил ее, используя следующий код.

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

2.) В зависимости от условий кнопка на frmParent открывает модальную дочернюю форму и запрашивает некоторую информацию. Я использовал для этого следующий код:

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

Оба кода работают нормально. Когда пользователь нажимает сохраняет в дочерней форме, мне нужно закрыть дочернюю форму и использовать значения пользовательских типов в родительской форме. Я знаю, как закрыть дочернюю форму, но не знаю, как передать информацию из дочерней формы в родительскую.


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


Ответы (1)


Иметь общедоступную собственность в вашей дочерней форме

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
спасибо... это сработало gr8... Я предположил, что поскольку дочерняя форма уже закрыта, мы не сможем получить значения из ее свойств или переменных.... - person KoolKabin; 11.08.2011
comment
Хорошие новости. Вы по-прежнему можете получить доступ к общедоступным свойствам формы, пока ваша переменная формы (в данном случае f) не выйдет за пределы области видимости. - person David Steele; 11.08.2011