У меня есть пользовательский элемент управления с 5 простыми радиообменами, мне нужно, чтобы петля прошла через те, что были в коде, но я рисую огромный пробел о том, как это сделать. Может кто-то помочь, пожалуйстаLoop через элементы управления UserControl
ответ
foreach (var ctl in this.Controls)
{
if (ctl is RadioButton)
{
// stuff
}
}
Обратите внимание, что это не рекурсивным. Если ваши радиолюбители находятся дальше в иерархии контейнера управления, вам нужно написать рекурсивный метод, чтобы найти их. См. Мой старый ответ here на примере рекурсивной функции FindControl.
Просто угадайте здесь, но если вы пытаетесь создать группу связанных переключателей, вы не должны использовать отдельные элементы управления радиокнопками, а элемент управления RadioButtonList
. Это будет содержать все переключатели в группе и позволит вам перебирать их.
Я использую его таким образом специально из-за запроса клиента. Я предпочитаю radioobuttonlist, но для того, чтобы метки были сверху кнопок. – mattgcon
Используйте CSS для размещения надписей сверху. – TheGeekYouNeed
Теперь я попытался использовать CSS, чтобы разместить их, но я не мог заставить его работать. – mattgcon
Это может быть немного поздно для вашего случая, но это сообщение помогло мне найти решение для вашего вопроса (который оказался моим точным вопросом) - в частности, как выбрать группу переключателей в пользовательском контроле в который не требует изменения кода, если группа переключателей изменяется. Вот решение, которое я придумал:
Protected Function GetRadioButtonGroup(ByVal control As Control, ByVal groupName As String) As RadioButton()
Dim rbList As New System.Collections.Generic.List(Of RadioButton)
If TypeOf control Is RadioButton AndAlso DirectCast(control, RadioButton).GroupName = groupName Then
rbList.Add(control)
End If
If control.HasControls Then
For Each subcontrol As Control In control.Controls
rbList.AddRange(GetRadioButtonGroup(subcontrol, groupName))
Next
End If
Return rbList.ToArray
End Function
Тогда все, что вам нужно сделать, это получить радиокнопки в группе (и никакие другие элементы управления):
Dim radioButtons As RadioButton() = GetRadioButtonGroup(Me, "MyGroupName")
Извините, но " Использовать RadioButtonList "не является хорошим решением для модификации существующего кода, который написал кто-то другой, так как он потребует значительных изменений в разметке и css. Конечно, если я нахожу себя собственным контролем, я буду использовать RadioButtonList.
- 1. Loop через элементы управления в TabControl
- 2. Loop через динамически создаваемые элементы управления
- 3. Вложенных элементы управления UserControl DataContext
- 4. Элементы управления заполнением WPF UserControl
- 5. VB.NET Loop через элементы управления в панели управления скачет
- 6. Как добавить элементы управления динамически в UserControl через пользовательский XAML?
- 7. Loop через элементы списка
- 8. WPF Databinding между двумя элементы управления UserControl
- 9. Loop через элементы управления в пределах одного пользователя управления в C#
- 10. ASP.NET MVC обновить элементы управления UserControl
- 11. наРынкиСупермаркеты несколько динамически создаваемые элементы управления UserControl
- 12. Многократное WPF элементы управления UserControl в MainWindow
- 13. UserControl дочерние элементы управления и FindName
- 14. . NET - UserControl Drag & Drop - дочерние элементы управления
- 15. Loop через элементы управления и изменить LINQ столбцы
- 16. Loop через все элементы управления и очистить желаемый
- 17. Зацикливание через элементы управления
- 18. Элементы управления привязкой внутри пользовательского UserControl для внешних элементов управления
- 19. foreach Control loop пропускает скрытые элементы управления
- 20. Связать элементы управления gui в UserControl с другим UserControl и его элементами управления в WPF
- 21. Как сделать мои элементы управления внутри UserControl приватными?
- 22. Loop через stackPanel.children genericaly
- 23. Loop через управление RectangleShape
- 24. Ruby loop через массив и элементы выделения
- 25. Loop через дочерние элементы из $ element
- 26. Loop через SimpleXML элементы по шаблону запроса
- 27. JQuery - Loop через 700 и более Элементы
- 28. vb.net Пройти через элементы управления по форме и, если ListView Loop через столбцы и строки
- 29. Loop через текстовые поля
- 30. Элементы управления пользователя в репитере
Можете ли вы разместить разметку пользовательского элемента управления и как вы определили переключатели? – Oded