Compartilhar via


Como: Determinar as coordenadas em um ImageButton controle de servidor Web

Quando os usuários clicam em um ImageButton, um parâmetro passado para o manipulador de eventos para o controle do evento Click inclui as coordenadas indicando onde o usuário clicou.Isso permite que você execute tarefas diferentes com base em onde o usuário clicou.

Observação:

Se você desejar definir áreas específicas de uma imagem como regiões que os usuários podem clicar, você também pode usar o controle ImageMap.

Informações de coordenadas são enviadas como parte do objeto de evento argumento para o controle ImageButton de evento Click.

Para determinar as coordenadas onde um usuário clica

  1. Crie um manipulador de eventos para o evento Click do controle ImageButton.O objeto de evento argumento para o método deve ser do tipo ImageClickEventArgs.

  2. No manipulador de eventos Click, obtenha as propriedades X e Y do objeto argumento ImageClickEventArgs.

    As coordenadas x e y são expressas em pixels, onde o canto superior esquerdo da imagem é (0,0).

    O exemplo a seguir mostra como você pode determinar onde o usuário clicou num gráfico que é 100 por 100 pixels.O código obtém as coordenadas x e y onde o usuário clicou.Ele então compara-as com valores predeterminados para ver se o usuário clicou em um determinado quadrante.Os resultados são exibidos em um controle 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;
    }
    

Consulte também

Referência

Visão Geral dos Controles do Servidor Web de Botão