.net 如何将一个图像转换为一整套按钮?

.net 如何将一个图像转换为一整套按钮?,.net,vb.net,image,button,.net,Vb.net,Image,Button,在我的例子中,我有一张我现在所在办公室的地图,我想让它显示在我点击每个不同的房间时,适当的事件(例行程序等)发生的地方。我想这是可能的,但我只见过(在这里和其他地方)把一个图像变成一个按钮,或者使用一个以图像为背景的按钮。但我从未见过将单个图像的区域转换为可点击的多个对象。我知道HTML有一个功能,可以使用(x,y)开始和(x,y)结束标记特定像素范围,使图像的一小部分用作按钮,但我记不起visual basic或.Net的类似功能。将“标记特定像素范围的功能”称为图像映射,并且有一个.Net类

在我的例子中,我有一张我现在所在办公室的地图,我想让它显示在我点击每个不同的房间时,适当的事件(例行程序等)发生的地方。我想这是可能的,但我只见过(在这里和其他地方)把一个图像变成一个按钮,或者使用一个以图像为背景的按钮。但我从未见过将单个图像的区域转换为可点击的多个对象。我知道HTML有一个功能,可以使用(x,y)开始和(x,y)结束标记特定像素范围,使图像的一小部分用作按钮,但我记不起visual basic或.Net的类似功能。

将“标记特定像素范围的功能”称为图像映射,并且有一个.Net类用于此功能

MSDN页面上的示例和相关主题可能会指导您


不过,这是一款网络应用程序。是否可以?

如果您正在创建web应用,请签出。如果您正在创建本机应用程序,则可能需要进行更多创建。如果您有一个基于矢量的图像,您可能可以将其与WPF一起使用来创建一个简单的接口。如果没有,您需要在每个“房间”中设置按钮,或者编写自己的代码进行边界检查。

看看这个

还有:

一些代码片段:

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

请不要在标题前加上“Visual Basic 2010-”之类的前缀。这就是标签的用途。本机是计划,也很抱歉John,我下次会做得更好。这看起来正是我需要的。(我已经从论坛下载了示例程序。)非常感谢大家。(还不能投票,耸耸肩)