Вы можете прослушивать событие MouseDown и, когда оно срабатывает, подписываться на события MouseMove и MouseUp и запоминать координаты курсора на MouseDown.Затем определите дельту (скажем, 1px), которая будет признаком начала перетаскивания.Поэтому, если MouseMove вызывает, вы проверяете текущее положение мыши и определяете, действительно ли пользователь перетаскивает (используя вашу дельту).В этом случае вызовите startDrag()
.В другом случае будет вызвано событие Click.
И помните события отписки!:)