В моем приложении winforms я создаю элементы формы (Radiobutton, Label и т. Д.) Динамически. Мне нужно получить доступ к определенному элементу формы с его именем. Простым решением является итерация каждого элемента формы с помощью Form1.Controls и проверка его свойства имени. Но, на мой взгляд, это решение неэффективно. Можно ли получить доступ к определенному элементу формы с помощью отражения?Доступ к элементам формы динамически
1
A
ответ
4
Если у вас есть доступ к коллекции элементов управления можно использовать метод Find() при условии
myForm.Controls.Find("ControlName",true);
Если вы знаете свой тип - вы можете бросить его, а
TextBox t = (TextBox)myForm.controls.Find("txtFirstName",false);
Истинный или false будет инструктировать функцию для поиска любых дочерних элементов управления.
Смежные вопросы
- 1. доступ к динамически созданным элементам формы из потока в vb.net
- 2. Угловые - доступ к динамически создаваемым элементам формы из контроллера
- 3. Доступ к элементам JS, загружаемым динамически
- 4. AngularJS доступ к динамически созданным элементам html
- 5. Доступ к элементам управления, созданным динамически (C#)
- 6. Доступ к элементам динамически распределенного массива
- 7. Доступ к динамически созданным элементам изнутри ретранслятора
- 8. Доступ к элементам формы с использованием ID
- 9. Доступ к элементам HTML-формы через Javascript
- 10. Доступ к элементам управления формы VBA отключен
- 11. Не удается получить доступ к элементам формы
- 12. Доступ к детским элементам управления формы?
- 13. Рубин: доступ к элементам
- 14. Как получить доступ к элементам формы без знания формы Id?
- 15. C# Доступ к элементам comboBox формы из другой формы
- 16. Как получить доступ к элементам управления формы для обратной передачи из динамически построенной формы
- 17. Динамический доступ к элементам макета
- 18. Доступ к элементам HashMap
- 19. Доступ к элементам класса
- 20. Доступ к элементам?
- 21. доступ к элементам char *
- 22. Доступ к элементам JSON
- 23. Доступ к соединенным элементам
- 24. Доступ к элементам массива?
- 25. Доступ к элементам пустоты *?
- 26. Доступ к элементам записи
- 27. Доступ к элементам JSON
- 28. Как привязать данные MySQL к динамически созданным элементам формы
- 29. JavaScript Array Доступ к элементам
- 30. Возвращение к динамически созданным элементам
Можете ли вы дать аргумент, почему вы считаете, что итерирование детей менее эффективно, чем отражение? – Archeg
Если вы используете .Net4, существует перегрузка индексатора Controls: form1.Controls ["ControlName"] –