Добавление элементов управления на панель программным способом - PullRequest
2 голосов
/ 10 июля 2010

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

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)

Ответы [ 3 ]

5 голосов
/ 10 июля 2010

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

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

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

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

3 голосов
/ 10 июля 2010

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

0 голосов
/ 16 марта 2015

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

Ваша настройка только для 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...