Partager via


Comment : déterminer des coordonnées dans un contrôle serveur Web ImageButton

Mise à jour : novembre 2007

Lorsque les utilisateurs cliquent sur un contrôle ImageButton, un paramètre transmis au gestionnaire d'événements pour l'événement Click du contrôle contient des coordonnées qui indiquent où l'utilisateur a cliqué. Cela vous permet d'accomplir diverses tâches en fonction de l'endroit sur lequel l'utilisateur a cliqué.

Remarque :

Si vous souhaitez définir des zones spécifiques d'une image comme régions sur lesquelles les utilisateurs peuvent cliquer, vous pouvez aussi utiliser le contrôle ImageMap.

Les informations relatives aux coordonnées sont envoyées dans l'objet événement-argument pour l'événement Click du contrôle ImageButton.

Pour déterminer les coordonnées de l'endroit sur lequel un utilisateur a cliqué

  1. Créez un gestionnaire d'événements pour l'événement Click du contrôle ImageButton. L'objet événement-argument de la méthode doit être de type ImageClickEventArgs.

  2. Dans le gestionnaire d'événements Click, obtenez les propriétés X et Y de l'objet d'argument ImageClickEventArgs.

    Les coordonnées x et y sont exprimées en pixels, le coin supérieur gauche de l'image correspondant aux coordonnées (0,0).

    L'exemple suivant montre comment vous pouvez déterminer l'endroit sur lequel l'utilisateur a cliqué dans un graphisme de 100 par 100 pixels. Le code récupère les coordonnées x et y de l'endroit où l'utilisateur a cliqué. Il les compare ensuite à des valeurs prédéterminées pour contrôler si l'utilisateur a cliqué dans un quadrant particulier. Les résultats sont affichés dans un contrôle Label.

    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;
    }
    

Voir aussi

Référence

Vue d'ensemble des contrôles serveur Web Button