Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Динамическое обращение к свойствам контрола / 10 сообщений из 10, страница 1 из 1
09.11.2016, 08:08
    #39343988
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое обращение к свойствам контрола
Всем доброго дня. Есть несколько форм, на них несколько разных компонентов с разными свойствами. Необходимо написать универсальную процедуру для передачи пераметров: имени формы, имени контрола и его свойства. Делаю так:

Код: vbnet
1.
2.
3.
Sub proc1(f As Form, name_control As String, property_control As String)
f.Controls(name_control).property_control = "Тест"
End Sub



Вызываю так:

Код: vbnet
1.
proc1(Form1, "Button1", "Caption")



Ругается на property естественно. Имя формы и компонента вызываются правильно. Как написать правильно процедуру, чтобы свойство объекта можно было присвоить динамически? Заранее спасибо.
...
Рейтинг: 0 / 0
09.11.2016, 08:19
    #39343991
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое обращение к свойствам контрола
CallByName
...
Рейтинг: 0 / 0
09.11.2016, 08:30
    #39343996
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое обращение к свойствам контрола
Код: vbnet
1.
f.Controls(name_control).Properties(property_control) = "Тест"


?
...
Рейтинг: 0 / 0
09.11.2016, 08:32
    #39343999
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое обращение к свойствам контрола
Shocker.Pro, а для моего примера можно пример использования этой функции.
...
Рейтинг: 0 / 0
09.11.2016, 09:06
    #39344009
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое обращение к свойствам контрола
Спасибо все огромное, вопрос закрыт.
...
Рейтинг: 0 / 0
09.11.2016, 10:25
    #39344033
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое обращение к свойствам контрола
Извините, господа, вопрос не закрыт. Все это работает со стандартными компонентами и их свойствами.
Попробовала с компонентом VSFlexGrid - не работает. Пишу так:

Код: vbnet
1.
CallByName "VSFlexGrid1", "Textmatrix(1,0)", VbLet, ""



Пишет

Object doesn't support this property or method

Хотя, если просто в другой форме писать:

Код: vbnet
1.
VSFlexGrid1.Textmatrix(1,0)="" - все работает.



Что не так?
...
Рейтинг: 0 / 0
09.11.2016, 11:30
    #39344070
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое обращение к свойствам контрола
НастенькаПишет

Object doesn't support this property or methodА ты правда думаешь, что у VSFlexGrid есть метод с названием Textmatrix(1,0) и без параметров?
...
Рейтинг: 0 / 0
09.11.2016, 11:38
    #39344078
Динамическое обращение к свойствам контрола
AkinaА ты правда думаешь, что у VSFlexGrid есть метод с названием Textmatrix(1,0) и без параметров?Она думает, что есть Property Let с именем Textmatrix(1,0) с одним строковым параметром.

Не мучай котёнка.

Код: vbnet
1.
CallByName "VSFlexGrid1", "TextMatrix", VbLet, 1, 0, ""
...
Рейтинг: 0 / 0
09.11.2016, 11:40
    #39344079
Динамическое обращение к свойствам контрола
Тьфу.

Код: vbnet
1.
CallByName VSFlexGrid1, "TextMatrix", VbLet, 1, 0, ""
...
Рейтинг: 0 / 0
09.11.2016, 12:23
    #39344118
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое обращение к свойствам контрола
Спасибо, то, что нужно. :)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Динамическое обращение к свойствам контрола / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]