2012-02-07 27 views
1

在我的情况下,我有我现在所在的办公室的地图,当我点击每个不同的房间时发生适当的事件(例程等)时,我想将其放在哪里。我想这是可能的,但我只见过(在这里和其他地方)将图像转换为按钮,或者使用带图像的按钮作为背景。但我从来没有看到将单个图像的区域转换为多个可点击的对象。我知道HTML有一件事情,你使用(x,y)start和(x,y)end来标记特定的像素范围,使图像的一小部分作为按钮工作,但我不记得任何类似于visual basic或.Net。我将如何将一个图像转换为整组按钮?

+0

请不要使用前缀与您的标题 “的Visual Basic 2010 - ” 和这样的。这就是标签的用途。 – 2012-02-07 00:28:35

+0

Web或本机应用程序? – 2012-02-07 00:30:07

+0

本机是计划,也对不起约翰我下次会做得更好。 – 2012-02-07 17:22:49

回答

2

对此article on this site: How to realize with WinForms in C# something like an image with map areas in a homepage (at hoovering cover areas with semi transparent rectangle)?

,也该看看:VBNet Image Map

一些代码片段:

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 
+0

这真的看起来正是我所需要的。 (我已经从论坛下载了示例程序。)非常感谢大家。 (还不能投票*耸耸肩*) – 2012-02-07 17:32:50

0

如果您正在创建Web应用程序,请检查Image Maps。如果你正在创建一个本地应用程序,你可能需要更多的创建。如果你有一个基于矢量的图像,你可以使用WPF创建一个简单的界面。如果没有,您需要将按钮放在每个“房间”或编写自己的代码进行边界检查。