TextBox Array using C#

In this blog you will find it very easy to create an array of TextBox using C#, just extract the file (txtBoxArray.zip) then read the code. When you run the program (TextBoxArray.exe) you can see six Text boxes, use the buttons to see how to hide, show, clear and remove any TextBox. If you edit any of the TextBox, then you can see its index and also see which one you have edited. 



About the Code

// Declaring array of TextBox
 

private System.Windows.Forms.TextBox[] txtArray;

 

private void AddControls(int cNumber)

{

            // assign number of controls

            txtArray = new System.Windows.Forms.TextBox[cNumber + 1]; 

            for (int i = 0; i < cNumber + 1; i++)

            {

                        // Initialize one variable

                        txtArray[i] = new System.Windows.Forms.TextBox();

            }

}

 

// Result of the event Click TextBox
 

public void EnterTextBox(Object sender, System.EventArgs e)

{

      // number of the TextBox 

            txtIndex = (int)((System.Windows.Forms.TextBox) sender).Tag;
            label2.Text = txtIndex.ToString();

            label3.Text = "";

            label3.Text = txtArray[txtIndex].Text;

}

 

// Result of the event TextChange of TextBox
 

public void TextChange(Object sender, System.EventArgs e)

{

            label3.Text = txtArray[txtIndex].Text;

} 

private void ShowTextBox()

{

            int xPos = 8;

            int yPos = 32;

            txtNum = 6; // number of TextBox required

            AddControls(txtNum); // Create six TextBoxs

            int n = 1;

            while(n < txtNum + 1)

            {

                        txtArray[n].Tag = n;

                        txtArray[n].Width = 120;

                        txtArray[n].Height = 24;

                        txtArray[n].BackColor = System.Drawing.SystemColors.Info;

                        txtArray[n].Text = "TextBox" + txtArray[n].Tag.ToString();

                        if(yPos > 96) // Three TextBoxs in one column

                        {

                                    yPos = 32;

                                    xPos = xPos + txtArray[n].Width + 16;

                        }

                        txtArray[n].Left = xPos;

                        txtArray[n].Top = yPos;

                        yPos = yPos + txtArray[n].Height + 12;

                        this.Controls.Add(txtArray[n]);

                        // the Event of Enter (TextBox)

                        txtArray[n].Enter += new System.EventHandler(EnterTextBox);

                        // the Event of TextChanged (TextBox)

                        txtArray[n].TextChanged += new System.EventHandler(TextChange);

                        n++;

            }

            btnAddText.Enabled = false; // not need to this button now

            btnRemoveText.Enabled = true; // we need to remove any

            btnHide.Enabled = true;

            btnShow.Enabled = true;

            btnClear.Enabled = true;

            label5.Visible = true;

private void RemoveTextBox()

{

            int n = txtNum;

            if(n > 0)

            {

                        this.Controls.Remove(txtArray[n]);

                        txtNum--;

            }

            if(n == 1)

            {

                        btnAddText.Enabled = true; // we need to add again

            // not need because all had removed

                        btnRemoveText.Enabled = false;

                        btnHide.Enabled = false;

                        btnShow.Enabled = false;

                        btnClear.Enabled = false;

            }

}