I am learning c#. I want to create some controls dynamically. Here is the code that I am trying to create new elements on form dynamically, but it doesn't do anything. Please help me to solve this problem.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Sampless
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int n = 4;
private void btnDisplay_Click(object sender, EventArgs e)
{
TextBox[] textBox = new TextBox[n];
Label[] label = new Label[n];
for (int i = 0; i < n; i++)
{
textBox[i] = new TextBox();
textBox[i].Name = "n" + i;
textBox[i].Text = "n" + i;
label[i] = new Label();
label[i].Name = "n" + i;
label[i].Text = "n" + i;
}
for (int i = 0; i < n; i++)
{
this.Controls.Add(textBox[i]);
this.Controls.Add(label[i]);
}
}
}
}
You're adding all of the controls on top of each other, which is why it looks like there is only one of them. You'll want to put them in some sort of layout based control/panel (such as a FlowLayoutPanel
) that will automatically place the structures in the appropriate location based on the type of layout that you want.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With