من چند تا picturebox دارم می خوام وقتی که موس روی هر کدام از اونها رفت اسمش رو بر گردونه
نمی خوام واسه envent هر کدوم از اونا جدا جدا کد بنویسم
می خوام یه کد کلی بنویسم
ممنون
من چند تا picturebox دارم می خوام وقتی که موس روی هر کدام از اونها رفت اسمش رو بر گردونه
نمی خوام واسه envent هر کدوم از اونا جدا جدا کد بنویسم
می خوام یه کد کلی بنویسم
ممنون
داخل رويداد MouseEnter يكي از اونا اينو بنويس
TextBox1.text = ((PictureBox)sender).Name;
رويداد MouseEnter بقيه رو هم به همين ربطش بده
يعني برو رو رويدادش يك كومبو باكس داره بازش كن همين رويدادي كه نوشتي رو انتخاب كن
می توانید از راه زیر هم استفاده کنید...
در 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);
}
از این هم میتونید استفاده کنید دیگه نیازی به تعریف تابع نیست:
foreach (Control cntl in this.Controls)
if (cntl is PictureBox)
{
cntl.MouseEnter += (sender, e) => { MessageBox.Show(((PictureBox)sender).Name); };
}
خیلی متشکر
مخصوصا اقای hamid_hr