2012-02-07 28 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創建一個簡單的界面。如果沒有,您需要將按鈕放在每個「房間」或編寫自己的代碼進行邊界檢查。