PDA

View Full Version : رویداد دابل کلیک Picturebox



qeidarlo
سه شنبه 18 آبان 1389, 16:07 عصر
فرض کنید برنامه ای نوشته ایم که چند Picturebox در زمان اجرا به فرم اصلی اضافه شده اند. با دابل کلیک بر روی هر Picturebox میخواهم تصویر مربوطه در فرم جدیدی که خود حاوی Picturebox است نمایش داده شود. بنابراین فرم دوم را باید در رویداد Picturebox فرم اول ایجاد و مقدار دهی کرد. من فرم را ایجاد کرده و نمایش میدهم اما نمیتوانم مقدار Picturebox فرم اصلی را در فرم فرزند قرار دهم.

hossin.esm
سه شنبه 18 آبان 1389, 18:23 عصر
privatevoid button1_Click(object sender, EventArgs e)
{
PictureBox pic1 = newPictureBox();
pic1.Location = newPoint(20, 20);
pic1.Size = newSize(200,200);
pic1.SizeMode = PictureBoxSizeMode.StretchImage;
pic1.Image = Image.FromFile("1.jpg");
pic1.Name = "pic1";
Controls.Add(pic1);
pic1.DoubleClick += newEventHandler(pic1_DoubleClick);

}
void pic1_DoubleClick(object sender, EventArgs e)
{
Form2 f2 = newForm2();
f2.pictureBox1.Image =((PictureBox)this.Controls["pic1"]).Image;
f2.Show();
}

qeidarlo
سه شنبه 18 آبان 1389, 22:05 عصر
مرسی حسین جان از راهنمایت.حالا اگه بخوام این Picturebox رو مرتباً توسط یه حلقه اضافه کنم اون موقع چطوری باید دسترسی داشته باشم

privatevoid button1_Click(object sender, EventArgs e)
{
for(int i=0;i<10;i++)
{
PictureBox pic1 = newPictureBox();
pic1.Location = newPoint(20, 20);
pic1.Size = newSize(200,200);
pic1.SizeMode = PictureBoxSizeMode.StretchImage;
pic1.Image = Image.FromFile("1.jpg");
pic1.Name = "pic1";
Controls.Add(pic1);
pic1.DoubleClick += newEventHandler(pic1_DoubleClick);
}
}
void pic1_DoubleClick(object sender, EventArgs e)
{
Form2 f2 = newForm2();
f2.pictureBox1.Image =?????????
f2.Show();
}

hossin.esm
چهارشنبه 19 آبان 1389, 00:08 صبح
مرسی حسین جان از راهنمایت.حالا اگه بخوام این Picturebox رو مرتباً توسط یه حلقه اضافه کنم اون موقع چطوری باید دسترسی داشته باشم




privatevoid button1_Click(object sender, EventArgs e)
{
string[] s = { "1.jpg", "2.jpg" };
for (int i = 0; i < 2; i++)
{
PictureBox pic1 = newPictureBox();
pic1.Location = newPoint(20+i*300, 20);
pic1.Size = newSize(200, 200);
pic1.SizeMode = PictureBoxSizeMode.StretchImage;
pic1.Image = Image.FromFile(s[i]);
pic1.Name = "pic1";
Controls.Add(pic1);
pic1.DoubleClick += newEventHandler(pic1_DoubleClick);
}

}
void pic1_DoubleClick(object sender, EventArgs e)
{

Form2 f2 = newForm2();
f2.pictureBox1.Image = ((PictureBox)sender).Image;//((PictureBox)this.Controls["pic1"]).Image;
f2.Show();
}

qeidarlo
چهارشنبه 19 آبان 1389, 18:49 عصر
حسین جان خیلی سالاری.همیشه پاینده باشی