ReleaseMouseCapture Method
TOC
Collapse the table of content
Expand the table of content

UIElement.ReleaseMouseCapture Method ()

 

Releases the mouse capture, if this element held the capture.

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

Public Sub ReleaseMouseCapture

If this element did not hold the capture, calling this method has no effect. Consider checking the value of IsMouseCaptured before you call this method.

The following example is the parallel to the example given for CaptureMouse: it handles mouse button up to release mouse capture and re-enable moving the mouse.

Private Sub MouseDownHandler(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
	If Not Enabled Then
		Return
	End If
	e.Handled = True


	If Keyboard.IsKeyDown(Key.F1) = True Then
		Reset()
		Return
	End If

	Dim el As UIElement = CType(sender, UIElement)
	_point = e.MouseDevice.GetPosition(el)
	' Initialize the center of rotation to the lookatpoint
	If Not _centered Then
		Dim camera As ProjectionCamera = CType(_slaves(0).Camera, ProjectionCamera)
		_center = camera.LookDirection
		_centered = True
	End If

	_scaling = (e.MiddleButton = MouseButtonState.Pressed)

	If Keyboard.IsKeyDown(Key.Space) = False Then
		_rotating = True
	Else
		_rotating = False
	End If

	el.CaptureMouse()
End Sub

Private Sub MouseUpHandler(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
	If Not _enabled Then
		Return
	End If
	e.Handled = True

	' Stuff the current initial + delta into initial so when we next move we
	' start at the right place.
	If _rotating = True Then
		_rotation = _rotationDelta * _rotation
	Else
		_translate += _translateDelta
		_translateDelta.X = 0
		_translateDelta.Y = 0
	End If

	'_scale = _scaleDelta * _scale
	Dim el As UIElement = CType(sender, UIElement)
	el.ReleaseMouseCapture()
End Sub

.NET Framework
Available since 3.0
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top
Show:
© 2016 Microsoft