Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > обмен данными между user control и формой


Автор: cru3l 14.4.2010, 14:52
в проекте есть User Control и форма. С User Control можно запросто добраться до контролов формы, например
Код

Form1.Text1.Text = "hello world"


наоборот - ни в какую (программ вываливается при выполнении)
Код

UserControl1.Text2.Text = "hello world"


есть ли возможность передать значение из формы в user control?

Автор: Akina 14.4.2010, 15:06
Обычно есть. Просто надо смотреть свойства и методы этого UserControl, и присваивать куда надо и в каком надо формате. 
Object Browser в руки - и вперёд.

Автор: cru3l 14.4.2010, 15:13
ну вот как просто из формы изменить текст в UserControl? конкретно, может кто-нибудь подсказать?

хочется примерчик 

Автор: DrBoom 14.4.2010, 21:23
cru3l, а нельзя добавить в UserControl своё свойство и обращаться к нему?

Например, добавить в UserControl:
Код

Public Property Get Example1 () As String
 Example1 = Text1.Text
End Property
Public Property Let Example1 (Value As String)
 Text1.Text = Value
End Property

А в форме в нужном месте:
Код

 UserControl1.Example1 = "Строка =)" 

Автор: cru3l 15.4.2010, 07:37
хм, в примере подразумевается что я создам экземпляр контрола где-то на форме, и уже в нем сделаю какие то изменения. А можно ли просто из формы проекта добраться до самого контрола?

у меня просто задача такая. Есть UserControl с RichTextBox, этот UserControl вызывает некие формы которые добавляют новые записи в RichTextBox(в этом и загвоздка собственно). 

т.е. я просто организовываю работу компонента, у меня нету экземпляра контрола.

вообще, можно ли все это организовать все внутри одного OCX-компонента?

Автор: Jr13san 24.4.2010, 13:24
Не знаю, правильно ли я понял твою проблему, но вот попробуй этот исходник: smile 

Автор: cru3l 27.4.2010, 07:51
Jr13san, нет, я хотел чтобы контрол(например текстбокс) содержал в себе форму (вызывал ее через кнопку на САМОМ контроле) - и из нее возвращал какие то данные назад

Автор: Jr13san 28.4.2010, 15:15
Я кажется понял, что тебе нужно. Типа того как работают Common диалоги?
Вот посмотри, что я сделал. Если честно, то самому интересно стало.
Да. И ещё, я не использовал здесь метод PropertyBag. Попробуй поэкспериментируй с ней.
Объявить её можно так:
Код

Dim PB As PropertyBag
'и здесь вызывать её методы записи и чтения.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)