在我的情况下,我有一张我现在所在办公室的地图,我想在我点击每个不同房间的地方进行相应的事件(例行等)。我想这是可能的,但我只见过(在这里和其他地方)将图像转换为按钮,或者使用带有图像作为背景的按钮。但我从未见过将单个图像的区域转换为多个可点击的对象。我知道HTML有一个东西,你使用(x,y)开始和(x,y)结束标记特定的像素范围,使图像的一小部分作为一个按钮工作,但我不记得像visual basic那样的东西或.Net。
答案 0 :(得分:2)
一些代码段:
Public Sub New()
Dim pts As New List(Of PointF)()
pts.Add(New PointF(70, 160))
pts.Add(New PointF(215, 244))
pts.Add(New PointF(242, 217))
pts.Add(New PointF(159, 71))
pts.Add(New PointF(70, 160))
Me.formulas.Add(New Formula(New PolygonF(pts.ToArray()), "P=RI^2"))
'//create next polygon
pts = New List(Of PointF)()
pts.Add(New PointF(X, Y))
pts.Add(New PointF(X2, Y2))
'//etc...
pts.Add(New PointF(X, Y))
Me.formulas.Add(New Formula(New PolygonF(pts.ToArray()), _
"Formula XYZ"))
Me.InitializeComponent()
Me.PictureBox1.Image = My.Resources.OhmsLawWheel
End Sub
答案 1 :(得分:1)
“标记特定像素范围的事物”称为图像映射,并且有一个.Net类。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.imagemap.aspx#Y0
MSDN页面上的示例和相关主题可能可以指导您。
这适用于网络应用。你可以吗?
答案 2 :(得分:0)
如果您要创建网络应用,请查看Image Maps。如果您要创建本机应用程序,则可能需要更多地创建。如果您有基于矢量的图像,则可以将其与WPF一起使用以创建简单的界面。如果不是,您将需要在每个“房间”中放置按钮或编写自己的代码进行边界检查。