Condividi tramite


Procedura: fare in modo che un oggetto segua il puntatore del mouse

In questo esempio viene illustrato come modificare le dimensioni di un oggetto quando il puntatore del mouse viene spostato sullo schermo.

L'esempio include un file XAML (Extensible Application Markup Language) che crea l'interfaccia utente e un file code-behind che crea il gestore eventi.

Esempio

Il codice XAML seguente crea l'interfaccia utente, costituita da un Ellipse oggetto all'interno di un StackPaneloggetto e associa il gestore eventi per l'evento 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>

Il code-behind seguente crea il MouseMove gestore eventi. Quando il puntatore del mouse si sposta, l'altezza e la larghezza di Ellipse vengono aumentate e ridotte.

// 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

Vedi anche