Introduction
I wrote an article earlier to create an array of PictureBox
controls in your form. You can find it here: http://www.codeproject.com/KB/cs/PictureBox_Array.aspx. This article is about creating an array of Button
controls, Label
controls, and TextBox
controls in your form.
Background
My article has a Form
(frmCotrol
) with the following controls:
Panel
control (pnlButtons
) to hold an array of Button
sPanel
control (pnlLabels
) to hold an array of Label
sPanel
control (pnlTextBox
) to hold an array of TextBox
esButton
control (btnAddButton
) to add an array of Button
sButton
control (btnRemoveButton
) to remove a Button
Button
control (btnAddLabel
) to add an array of Label
sButton
control (btnRemoveLabel
) to remove a Label
Button
control (btnAddText
) to add an array of TextBox
esButton
control (btnRemoveText
) to remove a TextBox
Button
control (btnExit
) to exit the application
Using the code
I wrote a function to create an Array
of Button
s, Label
s, and TextBox
es at once:
private void AddControls( string anyControl, int cNumber)
{
switch (anyControl)
{
case "btn":
{
btnArray = new System.Windows.Forms.Button[cNumber + 1];
for (int i = 0; i < cNumber + 1; i++)
{
btnArray[i] = new System.Windows.Forms.Button();
}
break;
}
case "lbl":
{
lblArray = new System.Windows.Forms.Label[cNumber + 1];
for (int i = 0; i < cNumber + 1; i++)
{
lblArray[i] = new System.Windows.Forms.Label();
}
break;
}
case "txt":
{
txtArray = new System.Windows.Forms.TextBox[cNumber + 1];
for (int i = 0; i < cNumber + 1; i++)
{
txtArray[i] = new System.Windows.Forms.TextBox();
}
break;
}
}
}
You can go to the functions in the source file to see how I create the Events and the result of these events which occurs when the control is clicked:
- The function
ClickButton()
will get the text of a Button
. I put the event in the function ShowButton()
:
btnArray[n].Click += new System.EventHandler(ClickButton);
- The function
ClickLabel()
will copy the text from TextBox
to a Label
which has the same index. I put the Event in the function ShowLabel()
:
btnLabel[n].Click += new System.EventHandler(ClickLabel);
- The function
ClickTextBox()
will edit it. I put the Event in the function ShowTextBox()
:
btn TextBox [n].Click += new System.EventHandler(ClickTextBox);
About the code
Control array creation is not difficult, but I hope the new version of Visual Studio .NET will support control arrays as in VB6.
Finally
The file ControlArray.zip contains the source files of this article. I hope this article helps you to create arrays of any control. If you have any ideas, I would like to know about them, and all feedback is appreciated.
Sorry if you find errors in my English!
Thanks to CodeProject and all of you.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.