本文档已存档,并且将不进行维护。

UIElement.MouseMove 事件

更新:2007 年 11 月

在鼠标指针悬停于此元素上并且用户移动该鼠标指针时发生。

命名空间:  System.Windows
程序集:  PresentationCore(在 PresentationCore.dll 中)
用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/xaml/presentation

public event MouseEventHandler MouseMove
/** @event */
public final void add_MouseMove (MouseEventHandler value)
/** @event */
public final void remove_MouseMove (MouseEventHandler value)

JScript 不支持事件。
<object MouseMove="MouseEventHandler" .../>

实现

IInputElement.MouseMove

标识符字段

MouseMoveEvent

路由策略

冒泡

委托

MouseEventHandler

UIElement 作为基元素继承时,此事件会为该类的 Mouse.MouseMove 附加事件创建一个别名,以便 MouseMove 包含在该类的成员列表中。附加到 MouseMove 事件的事件处理程序将附加到基础 Mouse.MouseMove 附加事件,并接收同一事件数据实例。

此示例演示当鼠标指针在屏幕上移动时如何更改对象的维度值。

此示例包括一个用来创建用户界面 (UI) 的可扩展应用程序标记语言 (XAML) 文件和一个用来创建事件处理程序的代码隐藏文件。有关完整示例,请参见 使用鼠标指针移动对象的示例

下面的 XAML 创建了 UI(它在 StackPanel 内包括了一个 Ellipse),并附加了 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>


下面的隐藏代码创建 MouseMove 事件处理程序。 当鼠标指针移动时,Ellipse 的高度和宽度随之进行增加和减少。

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


Windows Vista

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

.NET Framework

受以下版本支持:3.5、3.0
显示: