2010-04-27 3 views
2

у меня есть 7 Radiobuttons на бланкеКак сделать Radiobuttons Взаимно эксклюзивные

3 из них принадлежит одной группе и 4 из них к другой группе

Я хочу Radiobuttons быть взаимоисключающими в пределах группы.

Это может быть достигнуто, помещая их в двух рамок группы,

Есть ли способ, мы можем достичь этого, не помещая их в контейнер, как GroupBox

+1

Ну, вы могли бы повесить на события и изменить поведение по умолчанию, но вопрос, почему? Вы можете сделать его похожим на одну группу, просто поместив свойства границы – IMHO

+0

Windows Forms? – Lucas

ответ

3

Положив их на Panel будет проще всего, но если вам действительно не нужен элемент управления контейнером, вы можете использовать метод, который я использовал. Создайте свой собственный CustomRadioButton путем наследования с RadioButton и добавьте свойство Group (строка, int, не имеет значения). Когда произойдет событие CheckChanged, если кнопка только что была проверена, выполните поиск коллекции Controls родительского контейнера для других элементов управления CustomRadioButton с тем же значением для Group и снимите флажок. Я использовал это раньше, и он работает хорошо. На самом деле, просто используйте Panel.

+0

Хмммм ... У меня нет проблем с установкой панели, но могу ли я сделать панель прозрачной ???? В конечном счете, конечный пользователь не должен чувствовать, что радиобарабаны помещаются в контейнер. Он должен чувствовать, что все кнопки (разных групп) находятся только на форме. – Gaddigesh

+0

Вы можете сделать панель прозрачной или того же цвета, что и форма. –

0

Лучший способ сделать это было бы использовать GroupBox

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