Проверка совпадения координат курсора и shape
Есть 3 прямоугольника, у каждого есть координаты и id. Как мне сделать проверку, что я курсором навёлся на один из этих прямоугольников. Координаты прямоугольников в PointFloat типе, а курсора в point. Проверка идёт через foreach, так как прямоугольников может быть и 4,5,6 и n. Используется devExpress.
//Позиция мыши
ch = ((MouseEventArgs)e).Location;
//keyValue.Key - это KeyValuePair<DevExpress.Utils.PointFloat, string> keyValue здесь хранится информацию о позициях
//прямоугольников и id
var sk = PointToControl(keyValue.Key); //Point
var sk1 = this.CalcHitItem(sk); //DiagramItem
var lb = PointToClient(ch); //PointFloat
var lb1 = this.CalcHitItem(lb); //DiagramItem
sk1 == lb1 - не работает, оно и понятно.
Ответы (1 шт):
Автор решения: Aziz Umarov
→ Ссылка
Сравнивать надо разницу чтоб вернее было, а точность сами выбирайте
Math.Abs(a - b) < 0.1
sk1, lb1 - это DiagramItem его невозможно сложить или умножить и т.д. его можно сравнить только