PDA

View Full Version : رویداد کدام کنترل اجرا شده؟



رامین مرادی
پنج شنبه 19 مرداد 1396, 08:38 صبح
وقت بخیر دوستان .من با کد های زیر آرایه ای زا عکسهای موجود درون پوشه ایجاد میکنم و یه کنترل پیکجر باکس هم میسازم و عکسارو درونشون نشون میدم. من براشون رویداد حرکت موس رو ایجاد کردم . که موس وقتی روشون میره یه پیغام نشون میده . حالا من میخوام بدونم چجور میشه فهمید موس رو کدوم کنترل قرار داره؟ یا اصلا تگ هر کدوم رو چجور میتونم بدست بیارم. اینم کدهامه.





private void button1_Click(object sender, EventArgs e)
{
this.AutoScroll = true;
string[] list = Directory.GetFiles(@"C:\pictures", "*.jpg");
picturebox = new PictureBox
[list.Length];
int y = 0;
for (int index = 0; index < picturebox.Length; index++)
{
picturebox[index] = new PictureBox();
this.Controls.Add(picturebox[index]);
picturebox[index].Location = new Point (index +140, 100);
picturebox[index].SizeMode = PictureBoxSizeMode.StretchImage;
picturebox[index].Size = new Size(50, 50);
picturebox[index].Image = Image.FromFile(list[index]);
picturebox[index].Tag = list[index];
picturebox[index].MouseMove +=new MouseEventHandler(myEventHandler);
}
}
private void myEventHandler(object sender, MouseEventArgs e)
{
MessageBox.Show("ok");
}

Felony
پنج شنبه 19 مرداد 1396, 10:07 صبح
تو رویداد myEventHandler که نوشتید آبجکت sender رفرنس به شی فراخوان کنندتون داره - به Picturebox کست کنیدش و از Property هاش استفاده کنید .


((PictureBox)Sender).Tag

رامین مرادی
پنج شنبه 19 مرداد 1396, 10:28 صبح
اگه امکانش هست راجب چینش اینا هم کمکم کنید. مثلا چهار ستونه باشه. کنترل ها هم از هم نهایتش 20 پیکسل فاصله داشته باشه