Практическое руководство. Координаты в серверном веб-элементе управления ImageButton
Обновлен: Ноябрь 2007
При нажатии на элемент управления ImageButton параметр, переданный обработчику событий для события Click элемента управления, содержит координаты, указывающие место щелчка. Это позволяет выполнять разные задачи в зависимости от места щелчка.
![]() |
---|
Если необходимо определить конкретные области изображения как области, куда пользователь может щелкнуть мышью, можно также использовать элемент управления ImageMap. |
Сведения о координатах отправляются как часть объекта аргумента события для события Click элемента управления ImageButton.
Определение координат места щелчка
Создайте обработчик для события Click элемента управления ImageButton. Объект аргумента события для метода должен относиться к типу ImageClickEventArgs.
В обработчике событий Click следует получить свойства X и Y объекта аргумента ImageClickEventArgs.
Значения координат x и y выражаются в точках; левый верхний угол изображения имеет координаты (0,0).
В следующем примере показано, как определить, в каком месте рисунка размером 100 на 100 точек пользователь щелкнул изображение. Программный код получает координаты места щелчка. Затем они сравниваются с предварительно определенными значениями, что позволяет определить конкретный квадрант, в котором пользователь щелкнул изображение. Результаты отображаются в элементе управления 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; }