Практическое руководство. Создание объекта, следующего за указателем мыши
Обновлен: Ноябрь 2007
В этом примере показан способ изменения размеров объекта при передвижении указателя мыши по экрану.
Пример включает файл Язык XAML (Extensible Application Markup Language), который создает пользовательский интерфейс и файл кода программной части, который создает обработчик событий. Полный пример см. в разделе Пример перемещения объекта с помощью указателя мыши.
Пример
Следующий XAML создает Пользовательский интерфейс, который состоит из Ellipse в StackPanel, и присоединяет обработчик событий для события MouseMove.
<Window x:Class="WCSamples.Window1"
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://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>
Следующий код создает обработчик событий MouseMove. Когда указатель мыши перемещается, высота и ширина Ellipse увеличивается и уменьшается.
' 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
// 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;
}
См. также
Задачи
Пример перемещения объекта с помощью указателя мыши