Introduction
In VB6 we can create many Controls (Label, TextBox, Button, PictureBox, …etc.) as an Array, but Visual Studio .NET does not support this work. I tried to create an Array of PictureBox controls in this article. My next article will be about creating an Array of Labels and Buttons.
Background
My article has two forms. The name of one is (frmThumb
) and the name of other is (frmView
). With the first form you can load all the images in any folder as thumbnails by clicking the button (Load images).
Then when you click any image you can view this image with its own size from the form (frmView
).
The form (frmThumb
) has:
- One panel control (
BackPanel
) to hold images - The progress control (
MyProgress
) which works while images are loading. - Two buttons: one (
btnLoad
) to load images, the other (btnExit
) to exit the application.
The form (frmView
) has:
- One pictureBox control (
imgDisplay
) to view the image you clicked, where I let the property SizeMode = AutoSize
- A label (
lblImageName
) to view the name and full path of the image - A button (
btnClose
) to close the form and return to the form (frmThumb
).
Using the Code
The important code is the code to create the Array:
private void AddControls(int cNumber)
{
imgArray = new System.Windows.Forms.PictureBox[cNumber];
for (int i = 0; i < cNumber; i++)
{
imgArray[i] = new System.Windows.Forms.PictureBox();
}
}
I create ClickImage
event:
private void ClickImage(Object sender, System.EventArgs e)
{
ImageToShow = ((System.Windows.Forms.PictureBox) sender).Tag.ToString;
Thumbnail.frmView f = new Thumbnail.frmView();
f.ShowDialog();
}
imgArray[i].Click += new System.EventHandler(ClickImage);
You can see the functions:
ImagesInFolder()
to load images from any folder ShowFolderImages()
to view images as thumbnails and how write the tag of the image like this:
imgArray[i].Tag = imgName[i];
and how add images on the panel:
this.BackPanel.Controls.Add(imgArray[i]);
Points of Interest
I learn how to create Array of Controls as labels and Buttons, we can create same as this article.
Remarks
Source files of this article and the folder for the images is:
..\ImageArray\bin\Debug\Images.
Last Words
I hope this article helps you to create an array of any control. I shall write another article about creating an array of Labels and Buttons.
If you have any ideas or if you find any problems please tell me. Just remember make it simple English because my English language is poor!
Thanks for Code Project and for all.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.