Как получить элемент, над которым находится указатель мыши - PullRequest
0 голосов
/ 15 октября 2018

У меня есть холст, на котором я перетаскиваю предметы.Я хочу наложить некоторые ограничения на событие выпадения.Например, если элемент 1 был отброшен на холст, я хочу, чтобы элемент 2 можно было отбрасывать на холст, только если указатель мыши находится непосредственно на элементе 1.

Я использовал Mouse.DirectlyOverно он возвращает ноль.Итак, как я могу получить элемент непосредственно, когда указатель мыши находится непосредственно над событием отбрасывания?

Примечание: я программирую на C # WPF

Спасибо!

1 Ответ

0 голосов
/ 16 октября 2018

Этот ответ считается само собой разумеющимся, что вы используете winforms.

Один из способов добиться этого - получить координаты X / Y курсора, чтобы проверить, находится ли он внутри item1.Вы можете использовать DragEventArgs события DragDrop, чтобы получить координаты мыши при запуске события

private void canvas_DragDrop(object sender, DragEventArgs e)
{
    //Get cursor x/y coordinates
    int cursorPositionX = e.X;
    int cursorPositionY = e.Y;

    //Check if it is inside item 1
    if (cursorPositionX > item1.Location.X && cursorPositionX < item1.Location.X + item1.Width && cursorPositionY > item1.Location.Y && cursorPositionY < item1.Location.Y + item1.Height)
    {
        //The mouse is directly above item1

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...