Изменение элементов управления с помощью Form.Controls - PullRequest
0 голосов
/ 18 ноября 2008

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

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

Помощь или объяснение приветствуется ...

Ответы [ 3 ]

1 голос
/ 18 ноября 2008

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

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

0 голосов
/ 30 декабря 2010

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

0 голосов
/ 18 ноября 2008

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...