次の方法で共有


Control.OnMouseMove メソッド

MouseMove イベントを発生させます。

Protected Overridable Sub OnMouseMove( _
   ByVal e As MouseEventArgs _)
[C#]
protected virtual void OnMouseMove(MouseEventArgse);
[C++]
protected: virtual void OnMouseMove(MouseEventArgs* e);
[JScript]
protected function OnMouseMove(
   e : MouseEventArgs);

パラメータ

解説

イベントが発生すると、デリゲートを使用してイベント ハンドラが呼び出されます。詳細については、「 イベントの発生 」を参照してください。

OnMouseMove メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理することもできます。派生クラスでイベントを処理する場合は、この手法をお勧めします。

継承時の注意: 派生クラスで OnMouseMove をオーバーライドする場合は、登録されているデリゲートがイベントを受け取ることができるように、基本クラスの OnMouseMove メソッドを呼び出してください。

使用例

[Visual Basic, C#] 派生クラスの OnMouseHover メソッドおよび OnMouseMove メソッドをオーバーライドする方法を次のコード例に示します。この例を実行するには、次のコードを新しいフォームに貼り付けて、同じファイルを形成するこのクラスを、そのフォームの後に貼り付けます。そして、FunButton 型のボタンをフォームに追加します。

 
Public Class FunButton
    Inherits Button

    Protected Overrides Sub OnMouseHover(ByVal e As System.EventArgs)

        ' Get the font size in Points, add one to the
        ' size, and reset the button's font to the larger
        ' size.
        Dim fontSize As Single = Font.SizeInPoints
        fontSize += 1
        Dim buttonSize As System.Drawing.Size = Size
        Me.Font = New System.Drawing.Font _
            (Font.FontFamily, fontSize, Font.Style)

        ' Increase the size width and height of the button 
        ' by 5 points each.
        Size = New System.Drawing.Size _
            (Size.Width + 5, Size.Height + 5)

        ' Call myBase.OnMouseHover to activate the delegate.
        MyBase.OnMouseHover(e)
    End Sub

    Protected Overrides Sub OnMouseMove(ByVal e As MouseEventArgs)

        ' Make the curser the Hand curser when the mouse moves 
        ' over the button.
        Cursor = Cursors.Hand

        ' Call MyBase.OnMouseHover to activate the delegate.
        MyBase.OnMouseHover(e)
    End Sub

[C#] 
public class FunButton:
    Button

{
    protected override void OnMouseHover(System.EventArgs e)
    {

        // Get the font size in Points, add one to the
        // size, and reset the button's font to the larger
        // size.
        float fontSize = Font.SizeInPoints;
        fontSize += 1;
        System.Drawing.Size buttonSize = Size;
        this.Font = new System.Drawing.Font(
            Font.FontFamily, fontSize, Font.Style);

        // Increase the size width and height of the button 
        // by 5 points each.
        Size = new System.Drawing.Size(Size.Width+5, Size.Height+5);

        // Call myBase.OnMouseHover to activate the delegate.
        base.OnMouseHover(e);
    }

    protected override void OnMouseMove(MouseEventArgs e)
    {

        // Make the curser the Hand curser when the mouse moves 
        // over the button.
        Cursor = Cursors.Hand;

        // Call MyBase.OnMouseHover to activate the delegate.
        base.OnMouseHover(e);
    }

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

Control クラス | Control メンバ | System.Windows.Forms 名前空間 | MouseMove