このページは役に立ちましたか。
このページのコンテンツについての ご意見をお待ちしております
その他にご意見はありますか。
残り 1500 文字
エクスポート (0) 印刷
すべて展開
展開 最小化
この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文

UIElement.MouseEnter イベント

マウス ポインターがこの要素の境界内に入ったときに発生します。

名前空間:  System.Windows
アセンブリ:  PresentationCore (PresentationCore.dll 内)
XAML の XMLNS : http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public event MouseEventHandler MouseEnter
<object MouseEnter="MouseEventHandler" .../>

実装

IInputElement.MouseEnter

識別子フィールド

MouseEnterEvent

ルーティング方法

直接

Delegate

MouseEventHandler

  • このイベントのクラス処理を派生クラスに実装するには、OnMouseEnter をオーバーライドします。

MouseEnter は、直接イベント処理ルーティング方法を使用するルーティング イベントです。 直接ルーティング イベントはルート上で発生するのではなく、そのイベントが発生した要素で処理されます。 ただし、スタイルにおけるイベント トリガーなど、ルーティング イベント動作の他の側面は有効にします。

MouseEnter はマウス ポインターがいつ要素の境界内に入ったかを追跡しますが、このイベントは、この要素で IsMouseOver プロパティが false から true に変化したことをそのまま報告します。

このイベントは、UIElement を基本要素として継承したときに MouseEnter がクラス メンバー リストの一部となるように、このクラスの Mouse.MouseEnter 添付イベントにエイリアスを作成します。 MouseEnter イベントにアタッチされたイベント ハンドラーは、基になる Mouse.MouseEnter アタッチ済みイベントにアタッチされ、同じイベント データ インスタンスを受け取ります。

ボタンにフォーカスがある状態でスペース バーが押された場合、Button (または任意の ButtonBase 派生クラス) では KeyDown イベントのネイティブ処理が行われます。 ネイティブ処理により、該当するボタンを発生元として Click イベントが発生し、マウス ポインターが移動していないように見える場合でもマウスがキャプチャされます。 マウス キャプチャの結果、そのボタンを発生元として MouseEnter イベントも発生します。 通常、要素がマウスをキャプチャすると、MouseEnter と共に GotMouseCapture も発生し、コントロール固有のその他のイベントが発生する場合もあります。

この例では、ある要素が占める領域にマウス ポインターが出入りするのに合わせて、要素の色を変更する方法を示します。

この例は、Extensible Application Markup Language (XAML) ファイルと分離コード ファイルで構成されています。

メモメモ

この例ではイベントを使用する方法を示しますが、これと同じ効果を実現するには、スタイルで Trigger を使用する方法が推奨されます。 詳細については、「スタイルとテンプレート」を参照してください。

次の XAML は、Border で囲まれた TextBlock で構成されるユーザー インターフェイスを作成し、MouseEnter および MouseLeave イベント ハンドラーを Border に結合します。


<StackPanel>
  <Border MouseEnter="OnMouseEnterHandler"
          MouseLeave="OnMouseLeaveHandler"
          Name="border1" Margin="10"
          BorderThickness="1"
          BorderBrush="Black"
          VerticalAlignment="Center"
          Width="300" Height="100">
    <Label Margin="10" FontSize="14"
           HorizontalAlignment="Center">Move Cursor Over Me</Label>
  </Border>
</StackPanel>


次の分離コードでは、MouseEnter および MouseLeave イベント ハンドラーを作成します。 マウス ポインターが Border に入ると、Border の背景が赤に変わります。 マウス ポインターが Border から出ると、Border の背景は白に戻ります。


public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
    }

    // raised when mouse cursor enters the area occupied by the element
    void OnMouseEnterHandler(object sender, MouseEventArgs e)
    {
        border1.Background = Brushes.Red;
    }

    // raised when mouse cursor leaves the area occupied by the element
    void OnMouseLeaveHandler(object sender, MouseEventArgs e)
    {
        border1.Background = Brushes.White;
    }
}


.NET Framework

サポート対象 : 4.5.2、4.5.1、4.5、4、3.5、3.0

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

Windows Phone アプリ用 .NET

サポート対象 : Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

コミュニティの追加

追加
表示:
© 2015 Microsoft