DispatcherQueueTimer Classe

Definizione

Esegue periodicamente un'attività su un thread DispatcherQueue dopo che è trascorso un intervallo di tempo.

public ref class DispatcherQueueTimer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 327680)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DispatcherQueueTimer final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 327680)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DispatcherQueueTimer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 327680)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DispatcherQueueTimer
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 327680)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class DispatcherQueueTimer
Public NotInheritable Class DispatcherQueueTimer
Ereditarietà
Object Platform::Object IInspectable DispatcherQueueTimer
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 Fall Creators Update (è stato introdotto in 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v5.0)

Esempio

public void ConfigureRepeatingTimer()
{
    _queueController = DispatcherQueueController.CreateOnDedicatedThread();
    _queue = _queueController.DispatcherQueue;

    _repeatingTimer = _queue.CreateTimer ();
    _repeatingTimer.Interval = TimeSpan.FromSeconds(5);

    // The tick handler will be invoked repeatedly after every 5
    // seconds on the dedicated thread.
    _repeatingTimer.Tick += (s, e) =>
    {
        DoWork();
    };

    // Start the Timer
    _repeatingTimer.Start();
}

private DispatcherQueue _queue;
private DispatcherQueueController _queueController;
private DispatcherQueueTimer _repeatingTimer;

Commenti

Il sistema garantisce di richiamare il gestore eventi solo dopo la scadenza della durata specificata. Tuttavia, potrebbe esserci qualche ritardo prima che il gestore tick venga richiamato se sono presenti altri elementi di lavoro in sospeso nella coda.

Le attività timer vengono eseguite con priorità inferiore a quella inattiva.

I timer non mantengono attivo il ciclo di eventi DispatcherQueue . I timer creati dopo l'arresto del ciclo di eventi DispatcherQueue non verranno elaborati.

Proprietà

Interval

Ottiene e imposta l'intervallo per il timer.

IsRepeating

Indica se il timer è ripetuto.

IsRunning

Indica se il timer è attualmente in esecuzione.

Metodi

Start()

Avvia il timer.

Stop()

Arresta il timer.

Eventi

Tick

Evento che viene generato al termine dell'intervallo del timer.

Si applica a