Home > Mobile >  Creating a new control property for certain amount of time in C# Winform
Creating a new control property for certain amount of time in C# Winform

Time:08-07

Say if I want to create a multiple button on my form based on a loop value of 3 then 3 buttons should be created into that form, in my case I have this textbox input that should determine the loop value on button click. What I've tried:

        void Button4Click(object sender, EventArgs e)
        {
            int get_col_range = Convert.ToInt32(textBox3.Text);
            for(int i=0; i<get_col_range; i  ) {
                    Button btn = new Button();
                    btn.Text = Convert.ToString(i);
                    this.Controls.Add(btn);
            }
}

I put on value of 2 on the TextBox input as test value but turned out that nothing happened why?.

CodePudding user response:

Try the following on a form with no controls in a button click event.

enter image description here

int top = 10;
int heightPadding = 30;

for (int index = 0; index < 3; index  )
{
    var button = new Button()
    {
        Text = $"Button {index}", 
        Name = $"Button{index}", 
        Location = new Point(10, top)
    };

    Controls.Add(button);
    top  = heightPadding;
}
  • Related