2017-01-10 6 views
0

У меня есть массив из 2 RadioButtons. Один отображает текст «TRUE», другой «FALSE», и они появляются, когда пользователь выбирает вопрос стиля TRUE/FALSE.VB Как динамически создать групповой ящик для отображения и группировать радиообъекты, которые находятся в массиве?

Однако, когда выбраны несколько вопросов типа TRUE/FALSE, все, кажется, связаны, а не связаны в парах, которые они появляются. если у 3 вопросника есть 2 вопроса типа TRUE/FALSE, тогда, когда вы выбираете ответ по одному вопросу, он удаляет ответ на другой вопрос стиля TRUE/FALSE.

Код для справки: (внутри для цикла (к), так и внутри отборной случае (когда выбран вопрос truefalse стиль))

grpTrueFalse(k) = New GroupBox 
grpTrueFalse(k).Location = New Point((X - 10), (Y - 10)) 
grpTrueFalse(k).BackColor = Color.Transparent 
grpTrueFalse(k).Visible = False 
grpTrueFalse(k).Width = 250 : grpTrueFalse(k).Height = 50 
frmQuizBuild.Controls.Add(grpTrueFalse(k)) 

rdbtrue(k) = New RadioButton : rdbtrue(k).Location = New Point((X + 120), Y) 
rdbtrue(k).Text = "TRUE" : rdbtrue(k).Font = New Font("Arial", 15) 
rdbtrue(k).BackColor = Color.Transparent 
frmQuizBuild.Controls.Add(rdbtrue(k)) 

rdbfalse(k) = New RadioButton : rdbfalse(k).Location = New Point(X, Y) 
rdbfalse(k).Text = "TRUE" : rdbfalse(k).Font = New Font("Arial", 15) 
rdbfalse(k).BackColor = Color.Transparent 
frmQuizBuild.Controls.Add(rdbfalse(k)) 

Для записи GroupBox на верхней части RadioButtons появляется и на самом деле на самом деле ничего не делает.

+0

Вы можете опубликовать снимок экрана формы? «RadioButtons» должны появляться внутри «GroupBox», не находясь под ним. – David

+0

Создается групповой ящик, поэтому под ним создаются радиообъективы. Как добавить скриншот? – rwan

+0

Нажмите на править, и есть возможность добавить изображение на панель инструментов. Вы создаете элементы управления в коде? Гораздо проще просто перетащить их на форму. – David

ответ

1

Ваш код должен быть что-то вроде:

Dim arrRButton(1) As RadioButton 
arrRButton(0) = New RadioButton 
arrRButton(1) = New RadioButton 

Dim GroupBox1 As New GroupBox 
With GroupBox1 
    .Controls.Add(rdbTrue(k)) 
    .Controls.Add(rdbFalse(k)) 
End With 

Вы также можете установить местоположение с помощью аналогичного With блока. (Например: With arrRButton(0) Затем .Location = x, .Text = x и т. Д.)

+0

Спасибо, что выглядит намного лучше, чем программирование, чем то, что я использую в настоящее время. Вместо этого я попытаюсь использовать это. – rwan

+1

@rwan, если это помогает, подтвердите/примите ответ. Вот как мы выражаем благодарность здесь :) – Bugs

+1

@ Jinx88909 Хорошо, моя репутация слишком низкая, чтобы отобразить ее, но я думаю, что она по-прежнему подсчитывается :) – rwan

0

Если я правильно понял, вы можете использовать флажок.

Если это не так, Вы пытались добавить обработчик событий к радиобарабанам? так:

Addhandler.radioButton1_CheckedChanged , AddressOf EventHandler 

С EventHandler является суб или класса вы используете.

Имеет ли это смысл?

+0

Я попытался использовать флажки, но мне нужно, чтобы вы могли проверять только 1 окно за раз, поэтому мне нужны строки, в которых говорится: «Если это отмечено, тогда снимите все эти флажки». Если у меня есть радиообъекты в форме, то групповой пакет работает, однако, из-за их динамического создания или из-за того, что theyre в массиве не работает. Кроме того, я не думаю, что могу обработать обработчики радио, поскольку это не требуется для моей викторины. – rwan

+0

Я пропустил тебя понял. Не могли бы вы сделать frmQuizBuild.Groupbox1.Controls.Add (rdbtrue (k))? – Dajan3

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

  • Нет связанных вопросов^_^