اولین کار اینه که به کاربر بگید روی نقشه محل هر قطعه رو با یه مستطیل مشخص کنه (اگه مستطیل باشه اگه نباشه که یه مقدار کار سخت میشه)
خب از کاربر یه مستطیل میگیرید و یه اسم یا کد قطعه هم ازش می گیرید و ذخیره می کنید. در گرافیک با نقطه بالا و سمت چپ اشیا کار داریم. پس نقطه بالا و سمت چپ مستطیل بعلاوه طول و عرض مستطیل رو ذخیره می کنید.
حالا من فرض کردم ما 3 تا مستطیل داریم و اومدم اونا رو رسم کردم و بعد وقتی موس رو حرکت میدید بالای فرم اسم قطعه رو مینویسه. این یه مثال ساده هست. ایونت ها رو برای پیکچرباکس خودتون تنظیم کنید.
Rectangle _rect1 = new Rectangle(10, 20, 150, 300);
Rectangle _rect2 = new Rectangle(170, 20, 150, 300);
Rectangle _rect3 = new Rectangle(330, 20, 150, 300);
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (_rect1.Contains(e.Location))
{
this.Text = "قطعه 1";
}
else if (_rect2.Contains(e.Location))
{
this.Text = "قطعه 2";
}
else if (_rect3.Contains(e.Location))
{
this.Text = "قطعه 3";
}
else
{
this.Text = "";
}
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawRectangle(Pens.Red, _rect1);
e.Graphics.DrawRectangle(Pens.Red, _rect2);
e.Graphics.DrawRectangle(Pens.Red, _rect3);
}