Freigeben über


Gewusst wie: Bestimmen von Koordinaten in einem ImageButton-Webserversteuerelement

Aktualisiert: November 2007

Wenn der Benutzer auf ein ImageButton-Steuerelement klickt, wird ein Parameter mit den Koordinaten der Stelle, auf die der Benutzer geklickt hat, an den Ereignishandler für das Click-Ereignis des Steuerelements übergeben. Damit besteht die Möglichkeit, abhängig von der Position, auf die geklickt wurde, unterschiedliche Aufgaben auszuführen.

Hinweis:

Wenn Sie bestimmte Bereiche einer Grafik definieren möchten, auf die der Benutzer klicken kann, können Sie auch das ImageMap-Steuerelement verwenden.

Koordinateninformationen werden als Teil des Ereignisargumentobjekts für das Click-Ereignis des ImageButton-Steuerelements gesendet.

So ermitteln Sie die Koordinaten, auf die ein Benutzer klickt

  1. Erstellen Sie einen Ereignishandler für das Click-Ereignis des ImageButton-Steuerelements. Das Ereignisargumentobjekt für die Methode muss vom Typ ImageClickEventArgs sein.

  2. Rufen Sie im Click-Ereignishandler die X-Eigenschaft und die Y-Eigenschaft des ImageClickEventArgs-Argumentobjekts ab.

    Die x- und y-Koordinaten werden in Pixel ausgedrückt, wobei die linke obere Ecke des Bildes die Koordinaten (0,0) aufweist.

    Im folgenden Beispiel wird gezeigt, wie festgestellt werden kann, auf welche Stelle in einer 100 mal 100 Pixel großen Grafik von Benutzern geklickt wurde. Die x- und y-Koordinaten der Stelle, auf die der Benutzer geklickt hat, werden vom Code abgerufen. und anschließend mit vordefinierten Werten verglichen. Außerdem wird festgestellt, ob von Benutzern auf einen bestimmten Quadranten geklickt wurde. Die Ergebnisse werden in einem Label-Steuerelement angezeigt.

    Protected Sub ImageButton1_Click(ByVal sender As System.Object, _
          ByVal e As System.Web.UI.ImageClickEventArgs) _
          Handles ImageButton1.Click
       Dim msg as String = ""
       Dim x As Integer = e.X
       Dim y As Integer = e.Y
    
       ' The button graphic is assumed to be 100x100 pixels.
       ' This checks coordinates against predetermined values that
       ' make up quadrants of the picture.
       If x >= 50 And y >= 50 Then
          msg = "Southeast"
       ElseIf x >= 50 And y < 50 Then
          msg = "Northeast"
       ElseIf x < 50 And y >= 50 Then
          msg = "Southwest"
       ElseIf x < 50 And y < 50 Then
          msg = "Northwest"
       End If
       Label1.Text = msg
    End Sub
    
    protected void ImageButton1_Click(object sender, 
        System.Web.UI.ImageClickEventArgs e)
    {
        string msg = "";   
        int x = e.X;   
        int y = e.Y;   
    
        // The button graphic is assumed to be 100x100 pixels.
        // This checks coordinates against predetermined values that
        // make up quadrants of the picture.
        if(x >= 50 && y >= 50)
        {
            msg = "Southeast";
        }
        else if(x >=50 && y < 50)
        {
             msg = "Northeast";
        }
        else if(x < 50 && y >= 50)
        {
            msg = "Southwest";
        }
        else if(x < 50 && y < 50)
        {
            msg = "Northwest";
        }
        Label1.Text = msg;
    }
    

Siehe auch

Referenz

Übersicht über die Button-Webserversteuerelemente