PDA

View Full Version : اجرا نشدن دستور this.controls.remove()



amin.net
یک شنبه 25 مهر 1395, 09:57 صبح
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int counterP = 0;
PictureBox[] picBox;
private void button1_Click(object sender, EventArgs e)
{
//declaration of variables
DialogResult result = new DialogResult();
string[] fileNames;

int filescounter;
int x;

//initialization of var
filescounter = 0;
x = 108;
result = System.Windows.Forms.DialogResult.OK;


//Operation
if (openFileDialog1.ShowDialog() == result) //If user clicked on ok button
{

filescounter = openFileDialog1.FileNames.Length;
fileNames = new string[filescounter];

if(counterP == 0) //if program is runnig for first time
picBox = new PictureBox[filescounter];
else
{
for (int i = 0; i < filescounter; i++ )
this.Controls.Remove(picBox[i]);
}
fileNames = openFileDialog1.FileNames;


for (int i = 0; i < filescounter; i++, x+=150)
{
picBox[i] = new PictureBox();
picBox[i].Location = new Point(x, 12);
picBox[i].Size = new Size(100, 88);
picBox[i].Image = Image.FromFile(fileNames[i]);
picBox[i].SizeMode = PictureBoxSizeMode.StretchImage;
this.Controls.Add(picBox[i]);
}
}//Endif
}
}


سلام دوستان.توی پنجره یه دکمه دارم که با کلیک روش هر تعداد عکس که انتخاب بشه،به همون تعداد براش PictureBox بسازه و نمایشش بده.اما برای دفعات بعد میخوام قبلی ها رو پاک کنم تا بتونم جدید ها رو نمایش بدم.اما دستور remove اجرا نمیشه.ممنون میشم راهنمایی کنید.

CsharpNevisi
یک شنبه 25 مهر 1395, 10:37 صبح
List<PictureBox> controls = this.Controls.OfType<PictureBox>().ToList();
foreach (PictureBox ctn in controls)
this.Controls.Remove(ctn);