Partager via


Dispatcher.BeginInvoke Méthode

Définition

Exécute de façon asynchrone un délégué sur le thread auquel le Dispatcher est associé.

Surcharges

BeginInvoke(Delegate, Object[])

Exécute de façon asynchrone le délégué spécifié avec les arguments spécifiés sur le thread sur lequel le Dispatcher spécifié a été créé.

BeginInvoke(DispatcherPriority, Delegate)

Exécute le délégué spécifié de façon asynchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé.

BeginInvoke(Delegate, DispatcherPriority, Object[])

Exécute le délégué spécifié de façon asynchrone selon la priorité indiquée et avec les arguments définis, sur le thread sur lequel Dispatcher a été créé.

BeginInvoke(DispatcherPriority, Delegate, Object)

Exécute le délégué spécifié de façon asynchrone selon la priorité indiquée et avec l'argument défini au niveau du thread auquel le Dispatcher est associé.

BeginInvoke(DispatcherPriority, Delegate, Object, Object[])

Exécute le délégué spécifié de façon asynchrone selon la priorité indiquée et avec le tableau d'arguments défini au niveau du thread auquel le Dispatcher est associé.

Remarques

Dans WPF, seul le thread qui a créé un DispatcherObject objet peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est désactivé à partir du thread d’interface utilisateur principal ne peut pas mettre à jour le contenu d’un Button thread d’interface utilisateur créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Contenu du Buttonthread d’arrière-plan, le thread d’arrière-plan doit déléguer le travail au Dispatcher thread d’interface utilisateur associé. Pour ce faire, utilisez l’une ou BeginInvokel’autre Invoke des opérations suivantes . Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher fichier spécifié DispatcherPriority.

BeginInvoke est asynchrone ; par conséquent, le contrôle retourne immédiatement à l’objet appelant après son appel.

BeginInvoke retourne un DispatcherOperation objet qui peut être utilisé pour interagir avec le délégué lorsque le délégué se trouve dans la file d’attente d’événements.

L’objet DispatcherOperation retourné par BeginInvoke peut être utilisé de plusieurs façons pour interagir avec le délégué spécifié, par exemple :

  • DispatcherPriority Modification du délégué tel qu’il est en attente d’exécution dans la file d’attente d’événements.

  • Suppression du délégué de la file d’attente d’événements.

  • En attente du retour du délégué.

  • Obtention de la valeur retournée par le délégué après son exécution.

Si plusieurs BeginInvoke appels sont effectués en même temps DispatcherPriority, ils sont exécutés dans l’ordre dans lequel les appels ont été effectués.

Si BeginInvoke elle est appelée sur un Dispatcher arrêt, la propriété d’état du retour DispatcherOperation est définie Abortedsur .

BeginInvoke(Delegate, Object[])

Exécute de façon asynchrone le délégué spécifié avec les arguments spécifiés sur le thread sur lequel le Dispatcher spécifié a été créé.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(Delegate ^ method, ... cli::array <System::Object ^> ^ args);
public System.Windows.Threading.DispatcherOperation BeginInvoke (Delegate method, params object[] args);
member this.BeginInvoke : Delegate * obj[] -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (method As Delegate, ParamArray args As Object()) As DispatcherOperation

Paramètres

method
Delegate

Délégué d'une méthode qui prend les paramètres spécifiés dans args, qui fait l'objet d'un push dans la file d'attente des événements de Dispatcher.

args
Object[]

Tableau d’objets à passer comme arguments à la méthode donnée. Peut être null.

Retours

DispatcherOperation

Objet qui est retourné immédiatement après l'appel de BeginInvoke et qui peut être utilisé pour interagir avec le délégué en attente d'exécution dans la file d'attente des événements.

Remarques

L’objet DispatcherOperation retourné par BeginInvoke peut être utilisé de plusieurs façons pour interagir avec le délégué spécifié, par exemple :

  • DispatcherPriority Modification du délégué tel qu’il est en attente d’exécution dans la file d’attente d’événements.

  • Suppression du délégué de la file d’attente d’événements.

  • En attente du retour du délégué.

  • Obtention de la valeur retournée par le délégué après son exécution.

BeginInvoke est asynchrone ; par conséquent, le contrôle retourne immédiatement à l’objet appelant après son appel.

Dans WPF, seul le thread qui a créé un DispatcherObject objet peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est désactivé à partir du thread d’interface utilisateur principal ne peut pas mettre à jour le contenu d’un Button thread d’interface utilisateur créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Contenu du Buttonthread d’arrière-plan, le thread d’arrière-plan doit déléguer le travail au Dispatcher thread d’interface utilisateur associé. Pour ce faire, utilisez l’une ou BeginInvokel’autre Invoke des opérations suivantes . Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher fichier spécifié DispatcherPriority.

Si BeginInvoke elle est appelée sur un Dispatcher arrêt, la propriété d’état du retour DispatcherOperation est définie Abortedsur .

S’applique à

BeginInvoke(DispatcherPriority, Delegate)

Exécute le délégué spécifié de façon asynchrone selon la priorité spécifiée au niveau du thread auquel le Dispatcher est associé.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method);
[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke (System.Windows.Threading.DispatcherPriority priority, Delegate method);
[<System.ComponentModel.Browsable(false)>]
member this.BeginInvoke : System.Windows.Threading.DispatcherPriority * Delegate -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (priority As DispatcherPriority, method As Delegate) As DispatcherOperation

Paramètres

priority
DispatcherPriority

Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec laquelle la méthode spécifiée est appelée.

method
Delegate

Délégué vers une méthode qui ne prend pas d'arguments, qui fait l'objet d'un push dans la file d'attente des événements du Dispatcher.

Retours

DispatcherOperation

Objet qui est retourné immédiatement après l'appel de BeginInvoke et qui peut être utilisé pour interagir avec le délégué en attente d'exécution dans la file d'attente des événements.

Attributs

Exceptions

method a la valeur null.

priority n’est pas un DispatcherPriority valide.

Exemples

L’exemple suivant montre comment placer une opération sur un Dispatcher. Pour obtenir le code source complet de cet exemple, consultez application monothread avec Long-Running exemple de calcul.

Tout d’abord, un délégué est créé qui n’accepte aucun argument.

public delegate void NextPrimeDelegate();
Public Delegate Sub NextPrimeDelegate()

Ensuite, BeginInvoke(DispatcherPriority, Delegate) on appelle. Comme chaque DispatcherObject propriété a une propriété qui retourne l’élément Dispatcher auquel elle est associée, l’objet Dispatcher souhaité est obtenu en interrogeant le DispatcherObject, dans ce cas, un Button nommé startStopButton. L’appel à BeginInvoke(DispatcherPriority, Delegate) prendre deux paramètres : la priorité, définie DispatcherPriority.Normalsur , et le rappel, qui est transmis via une instance du délégué NextPrimeDelegate.

startStopButton.Dispatcher.BeginInvoke(
    DispatcherPriority.Normal,
    new NextPrimeDelegate(CheckNextNumber));
startStopButton.Dispatcher.BeginInvoke(DispatcherPriority.Normal, New NextPrimeDelegate(AddressOf CheckNextNumber))

Remarques

Si plusieurs BeginInvoke appels sont effectués en même temps DispatcherPriority, ils sont exécutés dans l’ordre dans lequel les appels ont été effectués.

BeginInvoke retourne un DispatcherOperation objet qui peut être utilisé pour interagir avec le délégué lorsque le délégué se trouve dans la file d’attente d’événements.

L’objet DispatcherOperation retourné par BeginInvoke peut être utilisé de plusieurs façons pour interagir avec le délégué spécifié, par exemple :

  • DispatcherPriority Modification du délégué tel qu’il est en attente d’exécution dans la file d’attente d’événements.

  • Suppression du délégué de la file d’attente d’événements.

  • En attente du retour du délégué.

  • Obtention de la valeur retournée par le délégué après son exécution.

BeginInvoke est asynchrone ; par conséquent, le contrôle retourne immédiatement à l’objet appelant après son appel.

Dans WPF, seul le thread qui a créé un DispatcherObject objet peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est désactivé à partir du thread d’interface utilisateur principal ne peut pas mettre à jour le contenu d’un Button thread d’interface utilisateur créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Contenu du Buttonthread d’arrière-plan, le thread d’arrière-plan doit déléguer le travail au Dispatcher thread d’interface utilisateur associé. Pour ce faire, utilisez l’une ou BeginInvokel’autre Invoke des opérations suivantes . Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher fichier spécifié DispatcherPriority.

Si BeginInvoke elle est appelée sur un Dispatcher arrêt, la propriété d’état du retour DispatcherOperation est définie Abortedsur .

Voir aussi

S’applique à

BeginInvoke(Delegate, DispatcherPriority, Object[])

Exécute le délégué spécifié de façon asynchrone selon la priorité indiquée et avec les arguments définis, sur le thread sur lequel Dispatcher a été créé.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(Delegate ^ method, System::Windows::Threading::DispatcherPriority priority, ... cli::array <System::Object ^> ^ args);
public System.Windows.Threading.DispatcherOperation BeginInvoke (Delegate method, System.Windows.Threading.DispatcherPriority priority, params object[] args);
member this.BeginInvoke : Delegate * System.Windows.Threading.DispatcherPriority * obj[] -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (method As Delegate, priority As DispatcherPriority, ParamArray args As Object()) As DispatcherOperation

Paramètres

method
Delegate

Délégué d'une méthode qui prend les paramètres spécifiés dans args, qui fait l'objet d'un push dans la file d'attente des événements de Dispatcher.

priority
DispatcherPriority

Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec laquelle la méthode spécifiée est appelée.

args
Object[]

Tableau d’objets à passer comme arguments à la méthode donnée. Peut être null.

Retours

DispatcherOperation

Objet qui est retourné immédiatement après l'appel de BeginInvoke et qui peut être utilisé pour interagir avec le délégué en attente d'exécution dans la file d'attente des événements.

Remarques

L’objet DispatcherOperation retourné par BeginInvoke peut être utilisé de plusieurs façons pour interagir avec le délégué spécifié, par exemple :

  • DispatcherPriority Modification du délégué tel qu’il est en attente d’exécution dans la file d’attente d’événements.

  • Suppression du délégué de la file d’attente d’événements.

  • En attente du retour du délégué.

  • Obtention de la valeur retournée par le délégué après son exécution.

BeginInvoke est asynchrone ; par conséquent, le contrôle retourne immédiatement à l’objet appelant après son appel.

Dans WPF, seul le thread qui a créé un DispatcherObject objet peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est désactivé à partir du thread d’interface utilisateur principal ne peut pas mettre à jour le contenu d’un Button thread d’interface utilisateur créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Contenu du Buttonthread d’arrière-plan, le thread d’arrière-plan doit déléguer le travail au Dispatcher thread d’interface utilisateur associé. Pour ce faire, utilisez l’une ou BeginInvokel’autre Invoke des opérations suivantes . Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher fichier spécifié DispatcherPriority.

Si BeginInvoke elle est appelée sur un Dispatcher arrêt, la propriété d’état du retour DispatcherOperation est définie Abortedsur .

S’applique à

BeginInvoke(DispatcherPriority, Delegate, Object)

Exécute le délégué spécifié de façon asynchrone selon la priorité indiquée et avec l'argument défini au niveau du thread auquel le Dispatcher est associé.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg);
[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke (System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg);
[<System.ComponentModel.Browsable(false)>]
member this.BeginInvoke : System.Windows.Threading.DispatcherPriority * Delegate * obj -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (priority As DispatcherPriority, method As Delegate, arg As Object) As DispatcherOperation

Paramètres

priority
DispatcherPriority

Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec laquelle la méthode spécifiée est appelée.

method
Delegate

Délégué vers une méthode qui prend un argument, qui fait l'objet d'un push dans la file d'attente des événements du Dispatcher.

arg
Object

Objet à passer comme argument à la méthode spécifiée.

Retours

DispatcherOperation

Objet qui est retourné immédiatement après l'appel de BeginInvoke et qui peut être utilisé pour interagir avec le délégué en attente d'exécution dans la file d'attente des événements.

Attributs

Exceptions

method a la valeur null.

priority n’est pas un DispatcherPriority valide.

Exemples

L’exemple suivant montre comment placer une opération sur un Dispatcher.

Tout d’abord, un délégué est créé qui accepte un argument, dans ce cas une chaîne.

private delegate void OneArgDelegate(String arg);
Private Delegate Sub OneArgDelegate(ByVal arg As String)

Ensuite, BeginInvoke(DispatcherPriority, Delegate, Object) on appelle. Comme chaque DispatcherObject propriété a une propriété qui retourne l’élément Dispatcher auquel elle est associée, l’objet Dispatcher souhaité est obtenu en interrogeant le DispatcherObject, dans ce cas, un Grid nommé tomorrowsWeather. L’appel à BeginInvoke(DispatcherPriority, Delegate, Object) prendre trois paramètres : la priorité, définie DispatcherPriority.Normalsur ; le rappel, qui est passé par une instance du délégué OneArgDelegate; et une chaîne nommée weather, qui est l’argument du rappel.

// Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(
    System.Windows.Threading.DispatcherPriority.Normal,
    new OneArgDelegate(UpdateUserInterface), 
    weather);
' Schedule the update function in the UI thread.
tomorrowsWeather.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, New OneArgDelegate(AddressOf UpdateUserInterface), weather)

Remarques

arg peut être null si aucun argument n’est nécessaire.

BeginInvoke retourne un DispatcherOperation objet qui peut être utilisé pour interagir avec le délégué lorsque le délégué se trouve dans la file d’attente d’événements.

L’objet DispatcherOperation retourné par BeginInvoke peut être utilisé de plusieurs façons pour interagir avec le délégué spécifié, par exemple :

  • DispatcherPriority Modification du délégué tel qu’il est en attente d’exécution dans la file d’attente d’événements.

  • Suppression du délégué de la file d’attente d’événements.

  • En attente du retour du délégué.

  • Obtention de la valeur retournée par le délégué après son exécution.

BeginInvoke est asynchrone ; par conséquent, le contrôle retourne immédiatement à l’objet appelant après son appel.

Dans WPF, seul le thread qui a créé un DispatcherObject objet peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est désactivé à partir du thread d’interface utilisateur principal ne peut pas mettre à jour le contenu d’un Button thread d’interface utilisateur créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété de contenu du Buttonthread d’arrière-plan, le thread d’arrière-plan doit déléguer le travail au Dispatcher thread d’interface utilisateur associé. Pour ce faire, utilisez l’une ou BeginInvokel’autre Invoke des opérations suivantes . Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher fichier spécifié DispatcherPriority.

Si plusieurs BeginInvoke appels sont effectués en même temps DispatcherPriority, ils sont exécutés dans l’ordre dans lequel les appels ont été effectués.

Si BeginInvoke elle est appelée sur un Dispatcher arrêt, la propriété d’état du retour DispatcherOperation est définie Abortedsur .

Voir aussi

S’applique à

BeginInvoke(DispatcherPriority, Delegate, Object, Object[])

Exécute le délégué spécifié de façon asynchrone selon la priorité indiquée et avec le tableau d'arguments défini au niveau du thread auquel le Dispatcher est associé.

public:
 System::Windows::Threading::DispatcherOperation ^ BeginInvoke(System::Windows::Threading::DispatcherPriority priority, Delegate ^ method, System::Object ^ arg, ... cli::array <System::Object ^> ^ args);
[System.ComponentModel.Browsable(false)]
public System.Windows.Threading.DispatcherOperation BeginInvoke (System.Windows.Threading.DispatcherPriority priority, Delegate method, object arg, params object[] args);
[<System.ComponentModel.Browsable(false)>]
member this.BeginInvoke : System.Windows.Threading.DispatcherPriority * Delegate * obj * obj[] -> System.Windows.Threading.DispatcherOperation
Public Function BeginInvoke (priority As DispatcherPriority, method As Delegate, arg As Object, ParamArray args As Object()) As DispatcherOperation

Paramètres

priority
DispatcherPriority

Priorité, par rapport aux autres opérations en attente dans la Dispatcher file d’attente d’événements, avec laquelle la méthode spécifiée est appelée.

method
Delegate

Délégué vers une méthode qui prend plusieurs arguments, qui fait l'objet d'un push dans la file d'attente des événements du Dispatcher.

arg
Object

Objet à passer comme argument à la méthode spécifiée.

args
Object[]

Tableau d'objets à passer comme arguments à la méthode spécifiée.

Retours

DispatcherOperation

Objet qui est retourné immédiatement après l'appel de BeginInvoke et qui peut être utilisé pour interagir avec le délégué en attente d'exécution dans la file d'attente du Dispatcher.

Attributs

Exceptions

method a la valeur null.

DispatcherPriority n'est pas une priorité valide.

Remarques

Le arg paramètre peut être null si aucun argument n’est nécessaire.

BeginInvoke retourne un DispatcherOperation objet qui peut être utilisé pour interagir avec le délégué lorsque le délégué se trouve dans la file d’attente d’événements.

L’objet DispatcherOperation retourné par BeginInvoke peut être utilisé de plusieurs façons pour interagir avec le délégué spécifié, par exemple :

  • DispatcherPriority Modification du délégué tel qu’il est en attente d’exécution dans la file d’attente d’événements.

  • Suppression du délégué de la file d’attente d’événements.

  • En attente du retour du délégué.

  • Obtention de la valeur retournée par le délégué après son exécution.

BeginInvoke est asynchrone ; par conséquent, le contrôle retourne immédiatement à l’objet appelant après son appel.

Dans WPF, seul le thread qui a créé un DispatcherObject objet peut accéder à cet objet. Par exemple, un thread d’arrière-plan qui est désactivé à partir du thread d’interface utilisateur principal ne peut pas mettre à jour le contenu d’un Button thread d’interface utilisateur créé sur le thread d’interface utilisateur. Pour que le thread d’arrière-plan accède à la propriété Contenu du Buttonthread d’arrière-plan, le thread d’arrière-plan doit déléguer le travail au Dispatcher thread d’interface utilisateur associé. Pour ce faire, utilisez l’une ou BeginInvokel’autre Invoke des opérations suivantes . Invoke est synchrone et BeginInvoke asynchrone. L’opération est ajoutée à la file d’attente d’événements du Dispatcher fichier spécifié DispatcherPriority.

Si plusieurs BeginInvoke appels sont effectués en même temps DispatcherPriority, ils sont exécutés dans l’ordre dans lequel les appels ont été effectués.

Si BeginInvoke elle est appelée sur un Dispatcher arrêt, la propriété d’état du retour DispatcherOperation est définie Abortedsur .

Voir aussi

S’applique à