Reputation: 2726
I'm creating dynamically N radio buttons on form on this way:
private void CreateRadioButton()
{
int rbCount = 40;
System.Windows.Forms.RadioButton[] radioButtons = new System.Windows.Forms.RadioButton[rbCount];
for (int i = 0; i < rbCount; ++i)
{
radioButtons[i] = new RadioButton();
radioButtons[i].Text = Convert.ToString(i);
int x = 514 + i*37;
int y = 20;
radioButtons[i].Location = new System.Drawing.Point(x,y);
radioButtons[i].Size = new Size(37, 17);
this.Controls.Add(radioButtons[i]);
}
}
In this case the radiobuttons are all created in one row but i need to arrange them in multiple rows inside specific region. Is it possible? What approach to use for this kind of problem?
Upvotes: 0
Views: 1434
Reputation:
If you want to fix your code without the suggested ways in the comments
private void CreateRadioButton()
{
int rbCount = 40;
int numberOfColumns = 8;
var radioButtons = new RadioButton[rbCount];
int y = 20;
for (int i = 0; i < rbCount; ++i)
{
radioButtons[i] = new RadioButton();
radioButtons[i].Text = Convert.ToString(i);
if (i%numberOfColumns==0) y += 20;
var x = 514 + i%numberOfColumns * 37;
radioButtons[i].Location = new Point(x, y);
radioButtons[i].Size = new Size(37, 17);
this.Controls.Add(radioButtons[i]);
}
}
Upvotes: 1