0
Ich versuche eine Funktion wie "HoldFunction", während der Berührung (MouseDown) und während maximal 1 Sekunde zu laden.Kombination von MouseDown und Timer
Also wenn Benutzer versuchen, für eine Sekunde zu berühren und zu halten, muss ich die Funktion aufrufen, und dies ist nicht mit MouseUp verbunden.
Vielleicht muss ich diese kombinieren:
private DateTime dtHold;
private void EditProduct_MouseDown(object sender, MouseButtonEventArgs e)
{
dtHold = DateTime.Now;
}
private void EditProduct_MouseUp(object sender, MouseButtonEventArgs e)
{
TimeSpan interval = TimeSpan.FromSeconds(1);
if (DateTime.Now.Subtract(dtHold) > interval)
{
//HoldFunction();
}
}
und
System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
private void EditProduct_MouseDown(object sender, MouseButtonEventArgs e)
{
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 0,1,0);
dispatcherTimer.Start();
}
private int _sec = 0;
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
_sec = _sec + 1;
if (_sec == 2)
{
dispatcherTimer.Stop();
{
//HoldFunction();
}
_sec = 0;
return;
}
}
Ja, das funktioniert perfekt, danke dir :) – AliMajidiFard9