Как вызвать управление на панели, которая находится внутри usercontrol - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь решить эту проблему, но безуспешно.

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

Тем не менее, мне удалось создать метод, чтобы сделать это, но у меня естьодно препятствие, от которого я не могу избавиться:

this.usercontrol.panel1.Controls[buttoninsidepanel].InvokeRequired

У меня тоже много панелей, у каждой панели есть свои кнопки.

i Не знаю, как создать «переменную»это будет действовать как "панель1" в примере.

я пробовал:

usercontrol.Controls[panel].Controls[buttoninsidepanel].Invoke

где [панель] ссылается на строку, которая получает имя панели, для которой я хочу получить элемент управления.

она выдает:«Ссылка на объект не установлена ​​для экземпляра объекта».

Любой способ заменить имя панели на переменную, которую я могу динамически изменять, так же, как я делаю с кнопками?

Заранее спасибо!

1 Ответ

0 голосов
/ 13 декабря 2018

Используйте метод Control.ControlCollection.Find следующим образом:

((Panel) usercontrol.Controls.Find("panel1",true)[0])

...