Как мне получить доступ к свойству из диалоговой формы, прежде чем он становится замкнутым, VB.NET приложения WinForms
Привет,
Надеюсь, что все вы здоровы и устраиваетесь в 2018 году :)
Я разберу это на несколько простых терминов, поскольку проект довольно сложен для описания, так что вот основы.
Form1 создает новый экземпляр Form2 и показывает его как showdialog - я не могу получить доступ к объявлению списка из Form2 в Form1.
Я не могу иметь глобальных деклараций или переменных - объяснено далее, ниже.
Что я уже пробовал:
У меня есть две формы, обе созданы в конструкторе.
Form1 создает новый экземпляр/копию формы 2 с помощью
Dim NewForm As New Form2 NewForm.ShowDialog()
Я использую showdialog, но я счастлив использовать просто show, но это дает мне новый набор проблем, который заключается в том, чтобы узнать из Form2, что вызывающая форма, то есть создание нового экземпляра/копии Form2, была закрыта.
Проект будет содержать еще много форм, например Form3, Form4, Form5....Form20, все они создают новую копию Form2 и должны получить доступ к "этой копии списка(строки)" из Form2, поэтому глобальное объявление списка(строки) невозможно.
Те, кто вызывает формы, чтобы Form2 - также могут быть созданы с помощью новой команды формы, из других форм. Так что отслеживание с помощью переменных того, была ли эта форма закрыта, для меня бесполезно.
В форме 2 у меня есть некоторые данные, которые я храню в
List(Of String)
В форме 2 я объявил в верхней части класса:
Dim _Keywords As New List(Of String) Friend ReadOnly Property Keywords() As List(Of String) Get Return _Keywords End Get End Property
Мне нужно получить доступ (из формы 1,3,4,5,6....20) список(строки) на Form2 до того, как он будет удален/закрыт/установлен в ничто, а не раньше.
На данный момент я делаю это в форме 1 после showdialog:
Dim Kwords As List(Of String) = GlobalFind.Keywords NewFrm.Dispose NewFrm=Nothing
в форме 1 Список Kwords всегда пуст, я получаю count=0, когда смотрю. Надеюсь, что это имеет смысл, и спасибо вам за то, что вы уделили мне свое время (и, надеюсь, решение, которое я упустил из виду).