2008-11-18 2 views
0

Я передаю ссылку формы в класс. В этом классе я полагал, что могу использовать formRef->Controls["controlName"] для доступа к свойствам элемента управления.Изменение элементов управления с помощью Form.Controls

Это работает для нескольких ярлыков, но на кнопке я получаю «Ссылка на объект, не установленную на экземпляр объекта». когда я пытаюсь изменить свойство Text.

Помощь или объяснение оценили ...

ответ

0

Я сделал это, и он работает. Может, возможно, будет безопаснее, как я могу проверить, если элемент управления на самом деле существует ...

array<Control^>^ id = myForm->Controls->Find("myButton", true); 
id[0]->Text = "new text"; 

Я думаю, что причина его ломает, что кнопка находится на другой панели. Я не думал об этом, когда писал. Новое решение также будет искать всех детей, поэтому это улучшение.

1

Это говорит о том, что управление с указанным именем не найден.

Не забывайте, что имя элемента управления не обязательно совпадает с его идентификатором в дизайнере. Проверьте фактическое имя на тот, который вы используете, чтобы найти его.

0

Вы всегда можете попробовать статические формы; D

Смежные вопросы