Windows Dev Center

Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Informações
O tópico solicitado está sendo mostrado abaixo. No entanto, este tópico não está incluído nesta biblioteca.

Método UIElement.CaptureMouse

Tentativas de forçar a captura do mouse a esse elemento.

Namespace:  System.Windows
Assembly:  PresentationCore (em PresentationCore.dll)

public bool CaptureMouse()

Valor de retorno

Tipo: System.Boolean
true se o mouse é capturado com êxito; caso contrário, false.

Implementações

IInputElement.CaptureMouse()

Para ser detectado, um elemento deve ser ativado. Verifique se IsEnabled é true antes de chamar CaptureMouse.

Se chamar CaptureMouse retorna true, então IsMouseCaptured também é true.

Se chamar CaptureMouse retorna true, então os eventos de GotMouseCapture e de IsMouseCapturedChanged são gerados, com RoutedEventArgs.Source nos dados do evento relatados como o elemento onde o método de CaptureMouse é chamado. Se você forçar a captura, você pode interferir com as capturas - especialmente existentes com capturas que estão relacionadas ao arrastar e soltar com o mouse.

Para limpar a captura do mouse de todos os elementos, chame Mouse.Capture com o parâmetro de element fornecido como null.

O exemplo a seguir implementa um par de manipuladores para a combinação de mouse e de entrada principal que captura (e uncapture) o mouse e permitem que um modo especial do mouse para exibir um modelo 3D.


private void MouseDownHandler(object sender, MouseButtonEventArgs e)
{
    if (!Enabled) return;
    e.Handled = true;


    if (Keyboard.IsKeyDown(Key.F1) == true)
    {
        Reset();
        return;
    }

    UIElement el = (UIElement)sender;
    _point = e.MouseDevice.GetPosition(el);
    // Initialize the center of rotation to the lookatpoint
    if (!_centered)
    {
        ProjectionCamera camera = (ProjectionCamera)_slaves[0].Camera;
        _center = camera.LookDirection;
        _centered = true;
    }

    _scaling = (e.MiddleButton == MouseButtonState.Pressed);

    if (Keyboard.IsKeyDown(Key.Space) == false)
        _rotating = true;
    else
        _rotating = false;

    el.CaptureMouse();
}

private void MouseUpHandler(object sender, MouseButtonEventArgs e)
{
    if (!_enabled) return;
    e.Handled = true;

    // Stuff the current initial + delta into initial so when we next move we
    // start at the right place.
    if (_rotating == true)
        _rotation = _rotationDelta * _rotation;
    else
    {
        _translate += _translateDelta;
        _translateDelta.X = 0;
        _translateDelta.Y = 0;
    }

    //_scale = _scaleDelta*_scale;
    UIElement el = (UIElement)sender;
    el.ReleaseMouseCapture();
}


.NET Framework

Com suporte em: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Contribuições da comunidade

Mostrar:
© 2015 Microsoft