ContentElement.CaptureMouse Método

Definición

Intenta forzar la captura del mouse en este elemento.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

Devoluciones

Es true si se captura el mouse correctamente; de lo contrario, es false.true if the mouse is successfully captured; otherwise, false.

Implementaciones

Ejemplos

En el ejemplo siguiente se captura el mouse o la captura de la versión, en función de si el elemento ya ha capturado el mouse.The following example captures the mouse or releases capture, based on whether the mouse is already captured by the element. Tenga en cuenta que en este ejemplo se convierte el elemento de destino de captura potencial en la interfaz IInputElement y, por tanto, se llama inicialmente al método IInputElement.CaptureMouse.Note that this example casts the prospective capture target element to the IInputElement interface, and is thus initially calling the IInputElement.CaptureMouse method. La conversión a IInputElement es una técnica útil si no está seguro de si el elemento que desea que capture el mouse es un UIElement o 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. La conversión de interfaz y la llamada al método de interfaz llama a continuación a la implementación de CaptureMouse específica del tipo correspondiente internamente sin necesidad de una conversión de prueba en UIElement o en ContentElement.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. Esta misma técnica de conversión funciona para otros miembros que IInputElement define, por ejemplo, muchos de los eventos relacionados con la entrada y otros métodos relacionados con la entrada.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

Comentarios

Para que se Capture, se debe habilitar un elemento.To be captured, an element must be enabled. Compruebe si se true IsEnabled antes de llamar a CaptureMouse.Check whether IsEnabled is true before you call CaptureMouse.

Si la llamada a CaptureMouse devuelve true, también se trueIsMouseCaptured.If calling CaptureMouse returns true, then IsMouseCaptured is also true.

Si la llamada a CaptureMouse devuelve true, se generan los eventos GotMouseCapture y IsMouseCapturedChanged, con RoutedEventArgs.Source en los datos de evento que se han comunicado como el elemento en el que se llama al método CaptureMouse.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 fuerza la captura, podría interferir con las capturas existentes, especialmente con las capturas relacionadas con la función de arrastrar y colocar con el mouse.If you force capture, you might interfere with existing captures - especially with captures that relate to drag-and-drop with the mouse.

Para borrar la captura del mouse de todos los elementos, llame a Mouse.Capture con el parámetro element proporcionado como null.To clear mouse capture from all elements, call Mouse.Capture with the element parameter provided as null.

Se aplica a

Consulte también: