可点击的图像映射c#

bar*_*ara 5 c# image button picturebox

我正在制作一个C#库存应用程序.但是,我希望有一个地图,用户可以点击几个区域并与该特定区域的库存进行交互.

目前我对地图进行了照片处理,并将其作为表格的背景.我打算将图片框放在不同的区域,并手动编写鼠标,单击和鼠标按下事件以显示按钮外观.

无论如何,我的问题是,这是一个好主意吗?我应该将地图加载到图片框中,摆脱纽扣的视觉效果并跟踪点击的坐标吗?

Edw*_*ack 2

虽然我不认为这是一个坏主意,但一种替代方法是使用Rectangles并具有一个由一系列Rectangle.Contains(Point)组成的 onclick 函数,以查明鼠标单击的点是否包含在以下任何一个中:可点击区域。

例如

Rectangle R1 = new Rectangle(/*Passed Variables*/);
Rectangle R2 = new Rectangle(/*Passed Variables*/);
//...
OnClick(object sender, MouseEventArgs e)
 {
 If (R1.Contains(e.Location))
  {
   //Stuff
  }
 else
 {
  If (R2.Contains(e.Location))
   {
    //Stuff
   }
 }
}
Run Code Online (Sandbox Code Playgroud)

不过,如果您有较大的 Rectangle 对象列表,则始终可以使用 Rectangle 数组和 for 循环,以更有效的方式检查单击的位置是否在任何 Rectangle 内部。