2010-07-10 4 views
2

Я пытаюсь добавить группу из четырех переключателей в форму. Есть другие переключатели, поэтому я группирую их, помещая их на панель. Однако, используя ниже, я просто добавляю панель в форму без переключателей ... Я делаю что-то неправильно здесь?Добавление элементов управления к панели программно

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

With arrRButton(0) 
    .AutoSize = True 
    .Checked = True 
    .Location = New System.Drawing.Point(77, 139) 
    .Name = "RadioButton5" 
    .Size = New System.Drawing.Size(55, 17) 
    .TabIndex = 48 
    .TabStop = True 
    .Text = "NEAR" 
    .UseVisualStyleBackColor = True 
End With 
'.... etc 

'Panel2 
Dim Panel2 As New Panel 
With Panel2 
    .Controls.Add(arrRButton(0)) 
    .Controls.Add(arrRButton(1)) 
    .Controls.Add(arrRButton(2)) 
    .Controls.Add(arrRButton(3)) 
    .Location = New System.Drawing.Point(61, 130) 
    .Name = "Panel2" 
    .Size = New System.Drawing.Size(300, 24) 
End With 

Me.Controls.Add(Panel2) 
+0

Знаешь о пеолях? Это кажется довольно неэффективным. –

ответ

3

Если вы хотите добавить группу радиокнопок в форме, используйте RadioButtonGroup, а не массив радио-кнопок.

5

.Size = Новый System.Drawing.Size (300, 24)

Там ваша проблема, вы сделали панель слишком мала. Первое местоположение переключателя находится на (77, 139), вам нужно будет установить высоту панели как минимум 139 + 17 = 156, чтобы увидеть ее полностью.

Вот трюк, чтобы получить этот код в порядке. В окне обозревателя решений найдите значок «Показать все файлы» и щелкните по нему. Это показывает все файлы в вашем решении. Рядом с вашей формой появится узел. Нажмите его и дважды щелкните файл .Designer.vb. Найдите метод InitializeComponent(). Наблюдайте за тем, как этот код изменяется, когда вы отбрасываете элементы управления в форме и устанавливаете их свойства. Скопируйте и вставьте код из этого.

Использование UserControl также может быть полезно.

+0

+3: по одному для каждого абзаца. – AMissico

-1

ваша проблема в здесь:

ваша установка для button(0) только это исправить!

for n=0 to 3 
With arrRButton(n) 
    .AutoSize = True 
    .Checked = True 
    .Location = New System.Drawing.Point((55*n) +5, 5) ' 
    .Name = "RadioButton5"+ n.tostring() 
    .Size = New System.Drawing.Size(55, 17) 
    .TabIndex = 48 
    .TabStop = True 
    .Text = "NEAR" 
    .UseVisualStyleBackColor = True 
    End With 

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