Dispatcher.CheckAccess Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Détermine si le thread appelant est le thread associé à ce Dispatcher.
public:
bool CheckAccess();
public bool CheckAccess ();
member this.CheckAccess : unit -> bool
Public Function CheckAccess () As Boolean
Retours
true
si le thread appelant est le thread associé à ce Dispatcher ; sinon, false
.
Exemples
L’exemple suivant utilise CheckAccess pour déterminer si un thread a accès à un Button. La CheckAccess méthode sur le Dispatcher associé à est Button appelée pour vérifier l’accès au thread. Si le thread appelant a accès à , est mis à Dispatcherjour en accédant aux membres du Button; sinon, un délégué, qui accepte un Button en tant qu’argument, est placé sur le Dispatcher.Button le Dispatcher déléguera le travail de mise à jour du Button.
// Uses the Dispatcher.CheckAccess method to determine if
// the calling thread has access to the thread the UI object is on.
private void TryToUpdateButtonCheckAccess(object uiObject)
{
Button theButton = uiObject as Button;
if (theButton != null)
{
// Checking if this thread has access to the object.
if (theButton.Dispatcher.CheckAccess())
{
// This thread has access so it can update the UI thread.
UpdateButtonUI(theButton);
}
else
{
// This thread does not have access to the UI thread.
// Place the update method on the Dispatcher of the UI thread.
theButton.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
new UpdateUIDelegate(UpdateButtonUI), theButton);
}
}
}
' Uses the Dispatcher.CheckAccess method to determine if
' the calling thread has access to the thread the UI object is on.
Private Sub TryToUpdateButtonCheckAccess(ByVal uiObject As Object)
Dim theButton As Button = TryCast(uiObject, Button)
If theButton IsNot Nothing Then
' Checking if this thread has access to the object.
If theButton.Dispatcher.CheckAccess() Then
' This thread has access so it can update the UI thread.
UpdateButtonUI(theButton)
Else
' This thread does not have access to the UI thread.
' Place the update method on the Dispatcher of the UI thread.
theButton.Dispatcher.BeginInvoke(DispatcherPriority.Normal, New UpdateUIDelegate(AddressOf UpdateButtonUI), theButton)
End If
End If
End Sub
Remarques
Seul le Dispatcher sur lequel un DispatcherObject est créé peut accéder à l’objet . Utilisez Invoke ou BeginInvoke pour accéder à l’objet à partir d’un thread différent.
CheckAccess peut être appelé à partir de n’importe quel thread.
La différence entre CheckAccess et VerifyAccess retourne CheckAccess une valeur booléenne indiquant si le thread appelant a accès à et DispatcherVerifyAccess lève une exception.