ImageMap クラスとは? わかりやすく解説

ImageMap クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

ページ上にイメージ表示するコントロール作成しますImageMap コントロール内に定義されホット スポット領域クリックされると、このコントロールサーバーへのポストバック生成するか、指定されURL移動します

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Class ImageMap
    Inherits Image
    Implements IPostBackEventHandler
public class ImageMap : Image, IPostBackEventHandler
public ref class ImageMap : public
 Image, IPostBackEventHandler
public class ImageMap extends Image implements
 IPostBackEventHandler
public class ImageMap extends
 Image implements IPostBackEventHandler
解説解説

ImageMap コントロール使用して、定義済みホット スポット領域含んだイメージ作成しますユーザーホット スポット領域クリックすると、このコントロールサーバーへのポストバック生成するか、指定されURL移動します。たとえば、このコントロール使用して地理的な領域を表す地図表示できますユーザー地図上の特定の領域クリックすると、このコントロール選択した領域に関する追加情報提供する URL移動しますまた、このコントロール使用してサーバーへのポストバック生成しクリックされたホット スポット領域応じた特定のコード実行することもできます。たとえば、ImageMap コントロール使用して投票などのユーザー回答収集できます賛成意思表示のために定義したホット スポット領域ユーザークリックすると、賛成回答データベース記録するコード呼び出されます。反対意思表示のために定義したホット スポット領域ユーザークリックした場合回答記録されません。これら 2 つ使い方1 つImageMap コントロール内に混在させることもできます。たとえば、あるホット スポット領域URL への移動用に指定し、もう 1 つホット スポット領域サーバーへのポスト バック用に指定できます

ImageUrl プロパティ使用してImageMap コントロール表示するイメージパス指定しますImageMap コントロールには、任意の数の HotSpot オブジェクトを定義できます。CircleHotSpot、RectangleHotSpot、および PolygonHotSpot の各クラス使用してホット スポット領域を定義できます別の方法として、抽象クラスHotSpot継承して、独自のカスタム ホット スポット オブジェクト定義することもできます

HotSpotクリックされたときの ImageMap コントロールHotSpot オブジェクト動作指定するには、2 つ方法ありますImageMap コントロールの HotSpotMode プロパティ、または個々HotSpot オブジェクトの HotSpotMode プロパティいずれか使用できます。これらのプロパティは、HotSpotMode 列挙値の 1 つ使用して設定します両方プロパティ設定され場合ImageMap コントロールHotSpotMode プロパティよりも、各 HotSpot オブジェクト指定されHotSpotMode プロパティ優先されます。

URL移動するには、ImageMap.HotSpotMode プロパティHotSpot.HotSpotMode プロパティHotSpotMode.Navigate設定します。NavigateUrl プロパティ使用して移動先の URL指定します

サーバーへのポストバック生成するには、ImageMap.HotSpotMode プロパティHotSpot.HotSpotMode プロパティHotSpotMode.Postback設定します。PostBackValue プロパティ使用してホット スポット領域の名前を指定します。この名前は、ポストバック イベント発生したときに、ImageMapEventArgs イベント データ渡されます。ポストバックHotSpotクリックされると、Click イベント発生しますポストバックHotSpotクリックされたときに実行されるアクションプログラムによって制御するには、Click イベントイベント ハンドラ実装ます。

ImageMap コントロールすべての HotSpot オブジェクトが同じ動作となるようにするには、ImageMap.HotSpotMode プロパティ使用して動作指定します次に個々HotSpot オブジェクトHotSpot.HotSpotMode プロパティHotSpotMode.NotSet設定するか、HotSpot.HotSpotMode プロパティに値を指定しないようにします。

ImageMap の各 HotSpot オブジェクト異な動作指定するには、個々HotSpot オブジェクトHotSpot.HotSpotMode プロパティHotSpotMode.NavigateHotSpotMode.PostBack設定します

メモメモ

ImageMap コントロールImageMap.HotSpotMode プロパティ、またはそれに含まれる任意の HotSpot オブジェクトHotSpot.HotSpotMode プロパティHotSpotMode.NotSet設定するか、または値を設定しない場合既定動作HotSpotMode.Navigate となります

ユーザー補助

使用例使用例

2 つCircleHotSpot オブジェクトを含む ImageMap コントロールを、宣言によって作成する方法次のコード例示しますHotSpot.HotSpotMode プロパティHotSpotMode.Navigate設定されます。この場合ユーザーいずれか円形ホット スポット領域クリックするたびに、指定されURLページ移動します。この例を正常に動作させるには、ImageUrl プロパティユーザー独自のイメージ提供しアプリケーションがそのイメージを見つけられるように、イメージへのパス適切に更新する必要があります

<%@ Page Language="VB" %>

<html>
<head id="Head1" runat="server">
  <title>ImageMap Class Navigate Example</title>
</head>
  <body>
    <form id="Form1" runat="server">
    
      <h3>ImageMap Class Navigate Example</h3>
      
      <h4>Shopping Choices:</h4>
      
       <asp:imagemap id="Shop"           
        imageurl="Images/ShopChoice.jpg"
        alternatetext="Shopping choices" 
        runat="Server">    
        
        <asp:circlehotspot
          navigateurl="http://www.tailspintoys.com"
          x="145"
          y="120"
          radius="75"
          hotspotmode="Navigate"
          alternatetext="Shop for toys">      
     
        </asp:circlehotspot> 
        
        <asp:circlehotspot
          navigateurl="http://www.cohowinery.com"
          x="145"
          y="290"
          radius="75"
          hotspotmode="Navigate"
          alternatetext="Shop for wine">
        </asp:circlehotspot>     
          
      </asp:imagemap>                 
                 
    </form>      
  </body>
</html>
<%@ page language="C#" %>

<html>
<head id="Head1" runat="server">
  <title>ImageMap Class Navigate Example</title>
</head>
  <body>
    <form id="Form1" runat="server">
    
      <h3>ImageMap Class Navigate Example</h3>
      
      <h4>Shopping Choices:</h4>
      
      <asp:imagemap id="Shop"           
        imageurl="Images/ShopChoice.jpg"
        width="150" 
        height="360"
        alternatetext="Shopping choices" 
        runat="Server">    
        
        <asp:circlehotspot
          navigateurl="http://www.tailspintoys.com"
          x="75"
          y="290"
          radius="75"
          hotspotmode="Navigate"
          alternatetext="Shop for toys">        
   
        </asp:circlehotspot> 
        
        <asp:circlehotspot
          navigateurl="http://www.cohowinery.com"
          x="75"
          y="120"
          radius="75"
          hotspotmode="Navigate"
          alternatetext="Shop for wine">
        </asp:circlehotspot>     
          
      </asp:imagemap>                 
                 
    </form>      
  </body>
</html>

2 つRectangleHotSpot オブジェクトを含む ImageMap コントロールを、宣言によって作成する方法次のコード例示しますImageMap.HotSpotMode プロパティHotSpotMode.PostBack設定されます。この場合ユーザーいずれかホット スポット領域クリックするたびに、ページサーバーポストバックされます。この例を正常に動作させるには、ImageUrl プロパティユーザー独自のイメージ提供しアプリケーションがそのイメージを見つけられるように、イメージへのパス適切に更新する必要があります

<%@ Page Language="VB" %>

<script runat="server">
  
  Sub VoteMap_Clicked(ByVal sender As
 Object, ByVal e As ImageMapEventArgs)
    Dim coordinates As String
    Dim hotSpotType As String
    Dim yescount As Integer
    Dim nocount As Integer
    
    If (ViewState("yescount") IsNot
 Nothing) Then
      yescount = Convert.ToInt32(ViewState("yescount"))
    Else
      yescount = 0
    End If
    If (ViewState("nocount") IsNot
 Nothing) Then
      nocount = Convert.ToInt32(ViewState("nocount"))
    Else
      nocount = 0
    End If
      
    
    ' When a user clicks the "Yes" hot spot,
    ' display the hot spot's name and coordinates.
    If (e.PostBackValue.Contains("Yes"))
 Then
      
      yescount += 1
      coordinates = Vote.HotSpots(0).GetCoordinates()
      hotSpotType = Vote.HotSpots(0).ToString()
      Message1.Text = "You selected " & hotSpotType
 & " " & e.PostBackValue & ".<br>"
 & _
                      "The coordinates are " &
 coordinates & ".<br>" & _
                      "The current vote count is "
 & yescount.ToString() & _
                      " yes votes and " & nocount.ToString()
 & " no votes."
       
      ' When a user clicks the "No" hot spot,
      ' display the hot spot's name and coordinates.
    ElseIf (e.PostBackValue.Contains("No"))
 Then
      
      nocount += 1
      coordinates = Vote.HotSpots.Item(1).GetCoordinates()
      hotSpotType = Vote.HotSpots.Item(1).ToString()
      Message1.Text = "You selected " & hotSpotType
 & " " & e.PostBackValue & ".<br>"
 & _
                     "The coordinates are " &
 coordinates & ".<br>" & _
                      "The current vote count is "
 & yescount.ToString() & _
                      " yes votes and " & nocount.ToString()
 & " no votes."
      
    Else
      
      Message1.Text = "You did not click a valid hot spot region."
                
    End If
      
    ViewState("yescount") = yescount
    ViewState("nocount") = nocount
    
  End Sub
  
</script>

<html>
<head id="Head1" runat="server">
  <title>ImageMap Class Post Back Example</title>
</head>
  <body>
    <form id="Form1" runat="server">
    
      <h3>ImageMap Class Post Back Example</h3>
      
      <asp:imagemap id="Vote"           
        imageurl="Images/VoteImage.jpg"
        width="400" 
        height="200" 
        alternatetext="Vote Yes or No"
        hotspotmode="PostBack"
        onclick="VoteMap_Clicked"
        runat="Server">            
          
        <asp:RectangleHotSpot          
          top="0"
          left="0"
          bottom="200"
          right="200"
          postbackvalue="Yes"
          alternatetext="Vote yes">
        </asp:RectangleHotSpot>
          
        <asp:RectangleHotSpot 
          top="0"
          left="201"
          bottom="200"
          right="400"
          postbackvalue="No"
          alternatetext="Vote no">
        </asp:RectangleHotSpot>
      
      </asp:imagemap>
            
      <br /><br />
          
      <asp:label id="Message1"
        runat="Server">
      </asp:label>                 
                 
    </form>      
  </body>
</html>
<%@ page language="C#" %>
<script runat="server">
  
  void VoteMap_Clicked (Object sender, ImageMapEventArgs e)
  {
    string coordinates;
    string hotSpotType;
    int yescount = ((ViewState["yescount"] != null)?
 (int)ViewState["yescount"] : 0);
    int nocount = ((ViewState["nocount"] != null)?
 (int)ViewState["nocount"] : 0);

    // When a user clicks the "Yes" hot spot,
    // display the hot spot's name and coordinates.
    if (e.PostBackValue.Contains("Yes"))
    {
      yescount += 1;
      coordinates = Vote.HotSpots[0].GetCoordinates();
      hotSpotType = Vote.HotSpots[0].ToString ();
      Message1.Text = "You selected " + hotSpotType + " " + e.PostBackValue
 + ".<br>" +
                      "The coordinates are " + coordinates + ".<br>"
 +
                      "The current vote count is " + yescount.ToString()
 + 
            " yes votes and " + nocount.ToString() + " no votes.";
    }
      
    // When a user clicks the "No" hot spot,
    // display the hot spot's name and coordinates.
    else if (e.PostBackValue.Contains("No"))
    {
      nocount += 1;
      coordinates = Vote.HotSpots[1].GetCoordinates();
      hotSpotType = Vote.HotSpots[1].ToString ();
      Message1.Text = "You selected " + hotSpotType + " " + e.PostBackValue
 + ".<br>" +
                      "The coordinates are " + coordinates + ".<br>"
 +
            "The current vote count is " + yescount.ToString() +
            " yes votes and " + nocount.ToString() + " no votes.";
    }
    
    else
    {
      Message1.Text = "You did not click a valid hot spot region.";
    }

    ViewState["yescount"] = yescount;
    ViewState["nocount"] = nocount;
  }           
  
</script>

<html>
<head id="Head1" runat="server">
  <title>ImageMap Class Post Back Example</title>
</head>
  <body>
    <form id="Form1" runat="server">
    
      <h3>ImageMap Class Post Back Example</h3>
      
      <asp:imagemap id="Vote"           
        imageurl="Images/VoteImage.jpg"
        width="400" 
        height="200" 
        alternatetext="Vote Yes or No"
        hotspotmode="PostBack"
        onclick="VoteMap_Clicked"
        runat="Server">            
          
        <asp:RectangleHotSpot          
          top="0"
          left="0"
          bottom="200"
          right="200"
          postbackvalue="Yes"
          alternatetext="Vote yes">
        </asp:RectangleHotSpot>
          
        <asp:RectangleHotSpot 
          top="0"
          left="201"
          bottom="200"
          right="400"
          postbackvalue="No"
          alternatetext="Vote no">
        </asp:RectangleHotSpot>
      
      </asp:imagemap>
            
      <br /><br />
          
      <asp:label id="Message1"
        runat="Server">
      </asp:label>                 
                 
    </form>      
  </body>
</html>

動作異なホット スポット含んだ ImageMap コントロール作成する方法次のコード例示します背景領域は、サーバーへのポストバックを行う単一RectangleHotSpot として定義されます。同じ領域3 つの RectangleHotSpot オブジェクト定義されます。これらのホット スポットそれぞれボタンのような外観をしており、URL移動しますImageMap コントロール2 つホット スポット重なり合った領域クリックされると、最初に定義されホット スポット優先されます。この例では、ボタンホット スポット最初に宣言され、それらを含んだ背景ホット スポット最後に宣言されます。たがってユーザーボタンホット スポットクリックしたときの動作は、背景RectangleHotSpot オブジェクトではなくボタンRectangleHotSpot オブジェクト動作となります。この例を正常に動作させるには、ImageUrl プロパティユーザー独自のイメージ提供しアプリケーションがそのイメージを見つけられるように、イメージへのパス適切に更新する必要があります

<%@ page language="VB" %>

<script runat="server">
  Sub ButtonsMap_Clicked(ByVal sender As
 Object, ByVal e As ImageMapEventArgs)
    ' When a user clicks the "Background" hot spot,
    ' display the hot spot's value.
    If (e.PostBackValue = "Background")
 Then
      
      Dim coordinates As String
      coordinates = Buttons.HotSpots(3).GetCoordinates()
      Message1.Text = "You selected the " & e.PostBackValue
 & "<br>" & _
                      "The coordinates are " &
 coordinates
      
    End If
  End Sub

</script>

<html>
<head id="Head1" runat="server">
  <title>ImageMap Class Mixed HotSpotMode Example</title>
</head>
  <body>
    <form id="Form1" runat="server">
    
      <h3>ImageMap Class Mixed HotSpotMode Example</h3>
      
      <!--In this scenario, the ImageMap.HotSpotMode
      property is not set,
 because the 
      HotSpotMode property is set
 on each individual
      RectangleHotSpot object to specify its
 behavior.-->
      <asp:imagemap id="Buttons"           
        imageurl="Images/MixedImage.jpg"
        width="350"
        height="350" 
        alternatetext="Navigate buttons"
        hotspotmode=NotSet     
        onclick="ButtonsMap_Clicked"
        runat="Server">                 
        
        <asp:RectangleHotSpot
          hotspotmode="Navigate"
          NavigateUrl="http://www.contoso.com"
          alternatetext="Button 1"
          top="50"
          left="50"
          bottom="100"
          right="300">
        </asp:RectangleHotSpot>
        
        <asp:RectangleHotSpot  
          hotspotmode="Navigate"
          NavigateUrl="http://www.tailspintoys.com"
          alternatetext="Button 2"        
          top="150"
          left="50"
          bottom="200"
          right="300">          
        </asp:RectangleHotSpot>
        
        <asp:RectangleHotSpot
          hotspotmode="Navigate"
          NavigateUrl="http://www.cohowinery.com"
          alternatetext="Button 3"          
          top="250"
          left="50"
          bottom="300"
          right="300">
        </asp:RectangleHotSpot> 
        
        <asp:RectangleHotSpot 
          hotspotmode="PostBack"
          PostBackValue="Background"
          alternatetext="Background"
          top="0"
          left="0"
          bottom="350"
          right="350">
        </asp:RectangleHotSpot>       
      
      </asp:imagemap>
            
      <br />
          
      <asp:label id="Message1"
        runat="Server">
      </asp:label>                 
                 
    </form>      
  </body>
</html>
<%@ page language="C#" %>
<script runat="server">
  
  void ButtonsMap_Clicked(object sender, ImageMapEventArgs e)
  {       
    // When a user clicks the "Background" hot spot,
    // display the hot spot's value.
    if (e.PostBackValue == "Background")
    {
      string coordinates = Buttons.HotSpots[3].GetCoordinates();
      Message1.Text = "You selected the " + e.PostBackValue + "<br>"
 +
                                "The coordinates are " + coordinates;
    }
  }
  
</script>

<html>
<head id="Head1" runat="server">
  <title>ImageMap Class Mixed HotSpotMode Example</title>
</head>
  <body>
    <form id="Form1" runat="server">
    
      <h3>ImageMap Class Mixed HotSpotMode Example</h3>
      
      <!--In this scenario, the ImageMap.HotSpotMode
      property is not set, because the 
      HotSpotMode property is set on each individual
      RectangleHotSpot object to specify its behavior.-->
      <asp:imagemap id="Buttons"           
        imageurl="Images/MixedImage.jpg"
        width="350"
        height="350" 
        alternatetext="Navigate buttons"
        hotspotmode=NotSet     
        onclick="ButtonsMap_Clicked"
        runat="Server">                 
        
        <asp:RectangleHotSpot
          hotspotmode="Navigate"
          NavigateUrl="http://www.contoso.com"
          alternatetext="Button 1"
          top="50"
          left="50"
          bottom="100"
          right="300">
        </asp:RectangleHotSpot>
        
        <asp:RectangleHotSpot  
          hotspotmode="Navigate"
          NavigateUrl="http://www.tailspintoys.com"
          alternatetext="Button 2"        
          top="150"
          left="50"
          bottom="200"
          right="300">          
        </asp:RectangleHotSpot>
        
        <asp:RectangleHotSpot
          hotspotmode="Navigate"
          NavigateUrl="http://www.cohowinery.com"
          alternatetext="Button 3"          
          top="250"
          left="50"
          bottom="300"
          right="300">
        </asp:RectangleHotSpot> 
        
        <asp:RectangleHotSpot 
          hotspotmode="PostBack"
          PostBackValue="Background"
          alternatetext="Background"
          top="0"
          left="0"
          bottom="350"
          right="350">
        </asp:RectangleHotSpot>      
      
      </asp:imagemap>
            
      <br />
          
      <asp:label id="Message1"
        runat="Server">
      </asp:label>                 
                 
    </form>      
  </body>
</html>
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
   System.Web.UI.Control
     System.Web.UI.WebControls.WebControl
       System.Web.UI.WebControls.Image
        System.Web.UI.WebControls.ImageMap
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ImageMap メンバ
System.Web.UI.WebControls 名前空間
HotSpotMode
Click
CircleHotSpot クラス
RectangleHotSpot
PolygonHotSpot
その他の技術情報
ImageMap Web サーバー コントロール



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ImageMap クラス」の関連用語

ImageMap クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ImageMap クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS