Я пытаюсь справиться с событием мыши, которое реагирует в соответствии с положением мыши относительно элемента, который получает событие.Дело в том, что обработчики событий обычно получают такие параметры:
(отправитель объекта, MouseEventArgs e) // как сгенерировано IDE
, и я могу получить положение мыши со значениями eX и eYЭто значения указателя мыши относительно всего окна.
Каждый элемент в форме имеет некоторые свойства, такие как Location.X и Location.Y, которые представляют позицию левого верхнего угла относительно его контейнера.,Дело в том, что, если элемент не находится внутри другого контейнера внутри окна, поиск позиции относительно элемента с чем-то вроде
eX - thing.Location.X, eY - thing.Location.Y
не будет работать.Кроме того, мне нужно будет отслеживать, где находится элемент, если я помещу его в панель с подразделениями, я должен отслеживать местоположение каждого подразделения над ним и т. Д.
Как мне получитьОтносительное положение мыши относительно элемента в окне, без отслеживания контейнеров или необходимости редактировать код каждый раз, когда я перемещаю элемент из одного контейнера в другой во время редактирования?или как мне получить относительную позицию элемента ко всему окну раз и навсегда?
tnx
--- edit:
кажется, что в элементах управления естьметод с именем GetContainerControl;Я мог бы создать цикл, который добавляет местоположение каждого родительского контейнера до тех пор, пока не останется больше контейнеров, и я оставлю это как альтернативу, но я нахожу это немного неуклюжим