Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Control.BeginInvoke, méthode (Delegate)

Exécute le délégué spécifié de manière asynchrone sur le thread sur lequel le handle sous-jacent du contrôle a été créé.

Espace de noms :  System.Windows.Forms
Assembly :  System.Windows.Forms (dans System.Windows.Forms.dll)

public IAsyncResult BeginInvoke(
	Delegate method
)

Paramètres

method
Type : System.Delegate
Délégué vers une méthode qui n'accepte pas de paramètres.

Valeur de retour

Type : System.IAsyncResult
IAsyncResult qui représente le résultat de l'opération BeginInvoke.

ExceptionCondition
InvalidOperationException

Aucun handle de fenêtre approprié n'a été trouvé.

Appel asynchrone au délégué et retour immédiat de cette méthode. Vous pouvez appeler cette méthode à partir de n'importe quel thread, même celui qui détient le handle du contrôle. Si le handle du contrôle n'existe pas encore, cette méthode effectuera une recherche dans la chaîne parente du contrôle jusqu'à ce qu'elle trouve un contrôle ou un formulaire avec un handle de fenêtre. Si aucun handle approprié n'est trouvé, BeginInvoke lèvera une exception. Les exceptions au sein de la méthode Delegate sont considérées comme non interceptées et sont envoyées au gestionnaire d'exceptions non interceptées de l'application.

Vous pouvez si nécessaire appeler EndInvoke pour récupérer la valeur de retour du délégué, mais ce n'est pas obligatoire. EndInvoke se bloquera jusqu'à ce que la valeur de retour puisse être extraite.

RemarqueRemarque

La plupart des méthodes sur un contrôle peuvent être appelées uniquement à partir du thread dans lequel le contrôle a été créé. Outre la propriété InvokeRequired, il existe quatre méthodes sur un contrôle qui sont thread-safe : Invoke, BeginInvoke, EndInvoke et CreateGraphics si le handle du contrôle a déjà été créé. L'appel de CreateGraphics avant la création du handle du contrôle sur un thread d'arrière-plan peut entraîner des appels inter-threads illégaux. Pour tous les autres appels de méthode, vous devez utiliser l'une des méthodes Invoke pour marshaler l'appel au thread du contrôle. Les méthodes invoke appellent toujours leurs rappels sur le thread du contrôle.

RemarqueRemarque

Une exception peut être levée si le thread qui doit traiter le message n'est plus actif.

L'exemple de code suivant illustre une utilisation de la méthode BeginInvoke.


public delegate void InvokeDelegate();

private void Invoke_Click(object sender, EventArgs e)
{
   myTextBox.BeginInvoke(new InvokeDelegate(InvokeMethod));
}
public void InvokeMethod()
{
   myTextBox.Text = "Executed the given delegate";
}


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft