Я пытаюсь измерить прошедшее время в миллисекундах между событиями нажатия клавиши с помощью таймера отправки, но при объявлении таймера отправки интервалом в 1 миллисекунду, а затем установление события tick не срабатывает каждые 1 миллисекунду, но где-то примерно 10-100 миллисекунд (догадка). Как я могу точно измерить время в миллисекундах, если это событие не срабатывает вовремя? Я делаю это в silverlight, который, похоже, не имеет доступа к System.Timers. То же самое происходит с System.Threading.Timer.Получение истекшего времени с помощью DispatchTimer с точностью до 1 миллисекунда
Вот основы кода:
public void StartTimer(object o, RoutedEventArgs sender)
{
System.Windows.Threading.DispatcherTimer myDispatcherTimer = new
System.Windows.Threading.DispatcherTimer();
myDispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 1); // 1 Milliseconds
myDispatcherTimer.Tick += new EventHandler(Each_Tick);
myDispatcherTimer.Start();
}
// A variable to count with.
int i = 0;
public void Each_Tick(object o, EventArgs sender)
{
i++;
}
public void keypress(object s, EventArgs args)
{
label1.contents = i.ToString();
i = 0;
}
Любые идеи?
Я проверю это. Но сначала мне кажется, что мне нужно обновить свой проект от silverlight 3 до 4. – 2010-11-23 09:08:39
Это не похоже на поддержку в веб-проекте silverlight. Просто приложения для телефона или xbox. – 2010-11-23 09:46:15