ContentElement.CaptureMouse ContentElement.CaptureMouse ContentElement.CaptureMouse ContentElement.CaptureMouse Method

Définition

Essaie de forcer la capture de la souris par cet élément.Attempts to force capture of the mouse to this element.

public:
 virtual bool CaptureMouse();
public bool CaptureMouse ();
abstract member CaptureMouse : unit -> bool
override this.CaptureMouse : unit -> bool
Public Function CaptureMouse () As Boolean

Retours

true si la souris est capturée correctement ; sinon, false.true if the mouse is successfully captured; otherwise, false.

Implémente

Exemples

L’exemple suivant capture la souris ou libère la capture, selon que la souris est déjà capturée ou non par l’élément.The following example captures the mouse or releases capture, based on whether the mouse is already captured by the element. Notez que cet exemple convertit l’élément cible de capture potentielle en IInputElement interface et, par conséquent, appelle initialement IInputElement.CaptureMouse la méthode.Note that this example casts the prospective capture target element to the IInputElement interface, and is thus initially calling the IInputElement.CaptureMouse method. La conversion IInputElement en est une technique qui est utile si vous ne savez pas si l’élément dont vous souhaitez capturer la souris est un UIElement ou un ContentElement.Casting to IInputElement is a technique that is useful if you are unsure whether the element you want to have capture the mouse is a UIElement or a ContentElement. L’interface est castée et l’appel de la méthode d’interface appelle ensuite l’implémentation de CaptureMouse appropriée propre au type en interne, UIElement sans ContentElementavoir à effectuer une conversion d’évaluation vers ou.The interface cast and the interface method call then calls the appropriate type-specific CaptureMouse implementation internally without requiring a trial cast to either UIElement or ContentElement. Cette même technique de cast fonctionne pour les autres IInputElement membres qui définissent, par exemple un grand nombre d’événements liés à l’entrée et d’autres méthodes liées à l’entrée.This same casting technique works for other members that IInputElement defines, for instance many of the input-related events, and other input-related methods.

private void CaptureMouseCommandExecuted(object sender, ExecutedRoutedEventArgs e)
{
  MessageBox.Show("Mouse Command");
  IInputElement target = Mouse.DirectlyOver;

  target = target as Control;
  if (target != null)
  {
    if (!target.IsMouseCaptured)
    {
      Mouse.Capture(target);
    } else {
      Mouse.Capture(null);
    }
  }
}
Private Sub CaptureMouseCommandExecuted(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
  MessageBox.Show("Mouse Command")
  Dim target As IInputElement = Mouse.DirectlyOver

  target = TryCast(target, Control)
  If target IsNot Nothing Then
	If Not target.IsMouseCaptured Then
	  Mouse.Capture(target)
	Else
	  Mouse.Capture(Nothing)
	End If
  End If
End Sub

Remarques

Pour être capturés, un élément doit être activé.To be captured, an element must be enabled. Vérifiez si IsEnabled est true avant d’appeler CaptureMouse.Check whether IsEnabled is true before you call CaptureMouse.

Si l' CaptureMouse appel trueà retourne IsMouseCaptured , est trueégalement.If calling CaptureMouse returns true, then IsMouseCaptured is also true.

Si l' CaptureMouse appel truede retourne, GotMouseCapture les IsMouseCapturedChanged événements et sont déclenchés RoutedEventArgs.Source , avec dans les données d’événement signalées comme CaptureMouse élément où la méthode est appelée.If calling CaptureMouse returns true, then the GotMouseCapture and IsMouseCapturedChanged events are raised, with RoutedEventArgs.Source in the event data reported as the element where the CaptureMouse method is called. Si vous forcez la capture, vous risquez d’interférer avec les captures existantes, en particulier avec les captures qui se rapportent au glisser-déplacer avec la souris.If you force capture, you might interfere with existing captures - especially with captures that relate to drag-and-drop with the mouse.

Pour effacer la capture de la souris de tous Mouse.Capture les éléments element , appelez avec nullle paramètre fourni sous la forme.To clear mouse capture from all elements, call Mouse.Capture with the element parameter provided as null.

S’applique à

Voir aussi