DispatcherQueueTimer Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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. |