Контроль доступа родительского диалога в VB6 - PullRequest
0 голосов
/ 09 августа 2010

У меня есть диалог в vb6, который изменяет значения, отображаемые в родительском диалоге.

x1 отображается в тексте txt_c1 в родительском диалоговом окне и имеет функцию txt_1validate для текстового поля Теперь я хочу изменить значение txt_c1 txtbox из дочернего диалога, а затем вызвать его функцию проверки. Но проблема в том, что txt_c1 недоступен в дочернем диалоге.

Обратите внимание, что я работаю в vb6 в MS VB 6.0 IDE

1 Ответ

1 голос
/ 09 августа 2010

Формы - это просто классы, и поэтому их можно создавать явно (и вы, вероятно, найдете их проще, если не будете использовать автоматическое создание экземпляров в VB6), и ссылки на формы можно назначать.

Вы можете решить вашу проблему, создав открытое свойство в вашем дочернем диалоге (Form1.frm) типа Form, который вы устанавливаете для экземпляра родительского диалога, тем самым предоставляя вам доступ к методам управления и методам родительского элемента от дочернего элемента. .

Мой VB6 несколько ржавый (и у меня нет доступного установленного экземпляра), так что это не будет действительный, правильный код - но что-то вроде следующего должно работать

В коде, который вызывает ребенка:

Form childDialog = new Form1
childDialog.Parent = this
childDialog.ShowModal

Затем в дочернем диалоге:

Parent.txt_c1 = newValue
if not Parent.Validate then
...
end if
...