Bagikan melalui


Cara: Membuat Objek Ikuti Penunjuk Mouse

Contoh ini menunjukkan cara mengubah dimensi objek saat penunjuk mouse bergerak di layar.

Contohnya mencakup file Extensible Application Markup Language (XAML) yang membuat antarmuka pengguna (UI) dan file code-behind yang membuat penanganan aktivitas.

Contoh

XAML berikut membuat UI, yang terdiri dari Ellipse bagian dalam StackPanel, dan melampirkan penanganan aktivitas untuk peristiwa tersebut MouseMove .

<Window x:Class="WCSamples.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="mouseMoveWithPointer"
    Height="400"
    Width="500"
    >
  <Canvas MouseMove="MouseMoveHandler"
          Background="LemonChiffon">
    <Ellipse Name="ellipse" Fill="LightBlue" 
             Width="100" Height="100"/>
  </Canvas>
</Window>

Kode berikut di belakang membuat MouseMove penanganan aktivitas. Ketika penunjuk mouse bergerak, tinggi dan lebar Ellipse ditingkatkan dan dikurangi.

// raised when the mouse pointer moves.
// Expands the dimensions of an Ellipse when the mouse moves.
private void MouseMoveHandler(object sender, MouseEventArgs e)
{
    // Get the x and y coordinates of the mouse pointer.
    System.Windows.Point position = e.GetPosition(this);
    double pX = position.X;
    double pY = position.Y;

    // Sets the Height/Width of the circle to the mouse coordinates.
    ellipse.Width = pX;
    ellipse.Height = pY;
}
' raised when the mouse pointer moves.
' Expands the dimensions of an Ellipse when the mouse moves.
Private Sub OnMouseMoveHandler(ByVal sender As Object, ByVal e As MouseEventArgs)

    'Get the x and y coordinates of the mouse pointer.
    Dim position As System.Windows.Point
    position = e.GetPosition(Me)
    Dim pX As Double
    pX = position.X
    Dim pY As Double
    pY = position.Y

    'Set the Height and Width of the Ellipse to the mouse coordinates.
    ellipse1.Height = pY
    ellipse1.Width = pX
End Sub

Baca juga