Как разместить радиокнопки в форме, но при этом связать их с RadioButtonList

Я успешно создал список из 10 переключателей в группе. Каждая радиокнопка имеет свое имя,

RadioB0, RadioB1, RadioB2, etc.

Я хотел бы изменить это на массив, RadioB[10]. Наличие индекса переключателя в событии значительно упрощает код, который мне приходится писать.

Я не вижу элемента панели инструментов для этого. Я использую Visual Studio 2010.

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

Как я могу разместить свои переключатели в форме, но при этом они должны быть частью RadioButtonList?

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


person KeithSmith    schedule 21.09.2013    source источник


Ответы (1)


Большинство первоначальных действительно веских причин использовать массивы управления давно ушли в прошлое. Они все еще там, вам просто нужно добавить их. Щелкните левой кнопкой мыши на панели инструментов/коробке и выберите «Выбрать элементы», прокрутите вниз и выберите RadioButtonArray — и точно так же вы сейчас на 15 лет в прошлом.

Еще одна вещь, которую вы можете сделать, это перебрать массив элементов управления родительского элемента управления. Если вы добавите их к чему-то вроде панели, вы можете сделать цикл For Each и делать там все, что вам нужно.

For Each rb As RadioButton In pnlRadios.Controls
      ' do your thing
Next

Если на панели есть другие элементы управления, вам придется использовать GetType, чтобы проверить, является ли элемент управления одним из ваших RadioButton, прежде чем возиться с ним.

Создание собственного RadioButtonList, вероятно, проще, чем вы думаете, поскольку это можно сделать в цикле. Большая вещь, которая может измениться, это .Top, которая просто кратна высоте плюс .Top RB(0).

person Ňɏssa Pøngjǣrdenlarp    schedule 21.09.2013