Если вам действительно нужно использовать изображение, то есть несколько вещей, которые вы можете сделать, чтобы проверить «клик».
Проверьте время между двумя событиями. Если оно меньше вашего порогового значения, обработайте мышь как щелчок. Вам нужно будет сохранить время события нажатия мыши.
Убедитесь, что sender
обоих событий одинаковы. Опять же, вам нужно сохранить sender
события нажатия мыши.
Возможно, вы также захотите проверить, нажата и отпущена ли левая кнопка.
Объединение двух:
private DateTime downTime;
private object downSender;
private void Image_MouseDown(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
this.downSender = sender;
this.downTime = DateTime.Now;
}
}
private void Image_MouseUp(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton == MouseButtonState.Released &&
sender == this.downSender)
{
TimeSpan timeSinceDown = DateTime.Now - this.downTime;
if (timeSinceDown.TotalMilliseconds < 500)
{
// Do click
}
}
}
На самом деле вы можете сделать еще одну третью вещь: проверить положение мыши.
private Point downPosition;
сохранить позицию:
this.downPosition = e.GetPosition(sender as Image);
, затем проверьте его в событии MouseUp
, снова со значением допуска.