Mouse Position : Mouse « Windows Presentation Foundation « VB.Net Tutorial






<Grid 
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  xmlns:d="http://schemas.microsoft.com/expression/interactivedesigner/2006"
  mc:Ignorable="d"
  x:Class="InputExamples.MousePosition" 
  Width="640" Height="480">
  <Label d:LayoutOverrides="Height" x:Name="firstCoordinates"/>
  <Rectangle Stroke="#FF000000" Fill="#FFFFFFFF" x:Name="Rectangle"/>
  <Ellipse Stroke="#FF000000" Fill="#FFFFFFFF" x:Name="secondEllipse"/>
  <Ellipse d:LayoutOverrides="Height" Stroke="#FF000000" Width="14" Height="14" x:Name="firstEllipse"/>
  <Ellipse d:LayoutOverrides="Width" Stroke="#FF000000" Width="14" Height="14" x:Name="fourthEllipse"/>
  <Ellipse d:LayoutOverrides="Width" Stroke="#FF000000" Width="14" Height="14" x:Name="thirdEllipse"/>
  <Label d:LayoutOverrides="Width, Height" Width="66" Height="22" x:Name="secondCoordinates"/>
  <Label d:LayoutOverrides="Width, Height" Width="66" Height="22" x:Name="thirdCoordinates"/>
  <Label d:LayoutOverrides="Width, Height" Width="66" Height="22" x:Name="fourthCoordinates"/>
  <Ellipse Fill="Red" Width="16" Height="16" x:Name="DragEllipse"/>
</Grid>
//File:Window.xaml.vb


Imports System
Imports System.Net
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Navigation
Imports System.Windows.Shapes

Namespace InputExamples
  Public Partial Class MousePosition
    Private ellipseTransform As New TranslateTransform()

    Public Sub New()
      Me.InitializeComponent()
    End Sub

    Protected Overrides Sub OnInitialized(e As EventArgs)
      MyBase.OnInitialized(e)

      DragEllipse.RenderTransform = ellipseTransform
      AddHandler CompositionTarget.Rendering, AddressOf Me.CompositionTarget_Rendering
    End Sub

    Private Sub CompositionTarget_Rendering(sender As Object, e As EventArgs)
      Dim mouse1 As Point = Mouse.GetPosition(firstEllipse)
      Dim mouse2 As Point = Mouse.GetPosition(secondEllipse)
      Dim mouse3 As Point = Mouse.GetPosition(thirdEllipse)
      Dim mouse4 As Point = Mouse.GetPosition(fourthEllipse)

      firstCoordinates.Content = mouse1.ToString()
      secondCoordinates.Content = mouse2.ToString()
      thirdCoordinates.Content = mouse3.ToString()
      fourthCoordinates.Content = mouse4.ToString()

      Dim position As Point = Mouse.GetPosition(DragEllipse)
      ellipseTransform.X += position.X - (DragEllipse.Width / 2)
      ellipseTransform.Y += position.Y - (DragEllipse.Height / 2)
    End Sub
  End Class
End Namespace
WPF Mouse Position








16.91.Mouse
16.91.1.MouseDown action on LineMouseDown action on Line
16.91.2.Hit Result BehaviorHit Result Behavior
16.91.3.Button PreviewMouseLeftButtonDown action and MouseLeftButtonDown actionButton PreviewMouseLeftButtonDown action and MouseLeftButtonDown action
16.91.4.Grid MouseLeftButtonDown action and PreviewMouseLeftButtonDown actionGrid MouseLeftButtonDown action and PreviewMouseLeftButtonDown action
16.91.5.Detect whether the mouse button is pressed or released using the MouseButtonState property.Detect whether the mouse button is pressed or released using the MouseButtonState property.
16.91.6.Handler MouseLeftButtonDown and MouseLeftButtonUp eventsHandler MouseLeftButtonDown and MouseLeftButtonUp events
16.91.7.Make an object follow the mouse pointer as it moves on the screen.Make an object follow the mouse pointer as it moves on the screen.
16.91.8.Use Mouse.AddPreviewMouseDownHandler(myEllipse, PreviewMouseDownEllipse);Use Mouse.AddPreviewMouseDownHandler(myEllipse, PreviewMouseDownEllipse);
16.91.9.Use Mouse.AddMouseDownHandler(myEllipse, MouseDownEllipse);Use Mouse.AddMouseDownHandler(myEllipse, MouseDownEllipse);
16.91.10.Use Mouse.PreviewMouseDown /Mouse.MouseDown Attribute from Grid elementUse Mouse.PreviewMouseDown /Mouse.MouseDown Attribute from Grid element
16.91.11.A line which monitors the mouse entering its areaA line which monitors the mouse entering its area
16.91.12.Mouse Position and TranslateTransformMouse Position and TranslateTransform
16.91.13.Mouse PositionMouse Position
16.91.14.Get mouse position with Mouse.GetPositionGet mouse position with Mouse.GetPosition
16.91.15.Replease mouse with Mouse.Capture(null)Replease mouse with Mouse.Capture(null)
16.91.16.Retrieving the mouse position relative to controls on a WindowRetrieving the mouse position relative to controls on a Window
16.91.17.Mouse cursor override and clearMouse cursor override and clear
16.91.18.Check the mouse event sourceCheck the mouse event source
16.91.19.Use the Mouse Wheel action methods that are defined by the IScrollInfo interfaceUse the Mouse Wheel action methods that are defined by the IScrollInfo interface
16.91.20.Change control background in mouse enter and leaveChange control background in mouse enter and leave
16.91.21.Use EventSetter to add mouse event handlerUse EventSetter to add mouse event handler
16.91.22.Mouse.LostMouseCaptureEventMouse.LostMouseCaptureEvent
16.91.23.Use Mouse.Capture to let a Control capture an eventUse Mouse.Capture to let a Control capture an event
16.91.24.Point Hit TestPoint Hit Test