У меня есть маленькая панель, которая поддерживает DragnDrop на MouseDown.Но у меня также есть событие MouseClick, которое я хочу обработать, если пользователь не перетаскивает поле.Как это сделать?Я попытался записать начальную позицию в MouseDown, затем измерить в MouseMove и вызвать DoDragDrop, когда она превысила 10 пикселей.Но я получаю маленький круг с косой чертой, как только щелкаю в поле.DoDragDrop поддерживается только на MouseDown?Я видел другой пост, похожий на этот, где предлагается измерять расстояние, но они не объясняют, как включить MouseClick вместо DoDragDrop ...
private void oldPanel_MouseDown(object sender, MouseEventArgs e)
{
m_nStartDragPoint = new Point(e.X, e.Y);
}
private void oldPanel_MouseMove(object sender, MouseEventArgs e)
{
if (System.Math.Abs(e.X - m_nStartDragPoint.X) > 10 ||
System.Math.Abs(e.Y - m_nStartDragPoint.Y) > 10)
{
oldPanel.DoDragDrop(oldPanel, DragDropEffects.Copy);
}
}
private void oldPanel_Click(object sender, EventArgs e)
{
// do some stuff - not called currently
}