PDA

View Full Version : سوال: گرفتن نام picturebox



polpolaki
شنبه 30 شهریور 1392, 11:17 صبح
من چند تا picturebox دارم می خوام وقتی که موس روی هر کدام از اونها رفت اسمش رو بر گردونه
نمی خوام واسه envent هر کدوم از اونا جدا جدا کد بنویسم
می خوام یه کد کلی بنویسم
ممنون

hamid_hr
شنبه 30 شهریور 1392, 11:47 صبح
داخل رويداد MouseEnter يكي از اونا اينو بنويس
TextBox1.text = ((PictureBox)sender).Name;
رويداد MouseEnter بقيه رو هم به همين ربطش بده
يعني برو رو رويدادش يك كومبو باكس داره بازش كن همين رويدادي كه نوشتي رو انتخاب كن

farhad.k.t
شنبه 30 شهریور 1392, 12:00 عصر
می توانید از راه زیر هم استفاده کنید...

در form_load بنویسید:
foreach (Control item in this.Controls)
{
if (item is PictureBox )
{
item.MouseHover += new EventHandler(pic_hover);
}
}

و رویداد را همانطور که آقای hamid_hr فرمودند ،تعریف کنید:
private void pic_hover(object sender, EventArgs e)
{
MessageBox.Show(((PictureBox)sender).Name);
}

aliagamon
شنبه 30 شهریور 1392, 12:08 عصر
از این هم میتونید استفاده کنید دیگه نیازی به تعریف تابع نیست:

foreach (Control cntl in this.Controls)
if (cntl is PictureBox)
{
cntl.MouseEnter += (sender, e) => { MessageBox.Show(((PictureBox)sender).Name); };
}

polpolaki
شنبه 30 شهریور 1392, 16:02 عصر
خیلی متشکر
مخصوصا اقای hamid_hr