Ребята, я пытаюсь динамически создавать панели, которые заполнены семью переключателями каждая.Я получаю панели, но они заполнены только 1 переключателем каждая.Что я здесь не так делаю?QuestionQuantity является целым числом и является переменной, которая определяет, сколько панелей я буду создавать.Код находится в функции загрузки формы.
Спасибо,
Dim Pan As Panel
Dim RButton As RadioButton
For x As Integer = 1 To QuestionsQuantity Step 1
Pan = New Panel
Pan.Name = "Panel" & Convert.ToString(x)
Pan.Left = 300
Pan.Top = 100 + 52 * (x - 1)
Pan.Height = 48
Pan.Width = 280
Pan.BackColor = Color.Coral
Controls.Add(Pan)
For y As Integer = 1 To 7 Step 1
RButton = New RadioButton
RButton.Name = "RadioButton" & Convert.ToString(x) & Convert.ToString(y)
RButton.Left = 1 + 30 * (y - 1)
RButton.Top = 10
RButton.Text = Convert.ToString(y)
RButton.CheckAlign = System.Drawing.ContentAlignment.BottomCenter
RButton.TextAlign = System.Drawing.ContentAlignment.TopCenter
RButton.UseVisualStyleBackColor = True
Controls.Add(RButton)
Pan.Controls.Add(RButton)
Next
Next
Я запутался с этим и вынул раздел Panel и просто использовал RadioButtons, чтобы увидеть, получу ли я семьиз этих.Я могу получить семь, если я смещу их в направлении у (.top), но по какой-то причине он не работает в направлении х (.left)
For y As Integer = 1 To 7 Step 1
RButton = New RadioButton
RButton.Name = "RadioButton1" & Convert.ToString(y)
RButton.Left = 20 + (y * 30)
RButton.Top = 10
RButton.Text = Convert.ToString(y)
RButton.CheckAlign = System.Drawing.ContentAlignment.BottomCenter
RButton.TextAlign = System.Drawing.ContentAlignment.TopCenter
RButton.UseVisualStyleBackColor = True
Controls.Add(RButton)
Next
Пожалуйста, помогите мне!
Я наконец получил это.Проблема была в объявлении размера RadioButton.Он будет слишком большим, если не будет объявлен, даже если я увеличу расстояние.
RButton.Size = New System.Drawing.Size(17, 30)
Это решило проблему.