Control.OnMouseHover(EventArgs) 方法
定义
引发 MouseHover 事件。Raises the MouseHover event.
protected:
virtual void OnMouseHover(EventArgs ^ e);
protected virtual void OnMouseHover (EventArgs e);
abstract member OnMouseHover : EventArgs -> unit
override this.OnMouseHover : EventArgs -> unit
Protected Overridable Sub OnMouseHover (e As EventArgs)
参数
示例
下面的代码示例演示如何 OnMouseHover OnMouseMove 在派生类中重写和方法。The following code example demonstrates how to override the OnMouseHover and OnMouseMove methods in a derived class. 若要运行该示例,请将以下代码粘贴到新的窗体中,并在窗体后粘贴此类,从而形成同一文件。To run the example, paste the following code in a new form and paste this class, forming the same file, after the form. 向窗体添加类型的按钮 FunButton
。Add a button of type FunButton
to the form.
// To use this example create a new form and paste this class
// forming the same file, after the form class in the same file.
// Add a button of type FunButton to the form.
public ref class FunButton: public Button
{
protected:
virtual void OnMouseHover( System::EventArgs^ e ) override
{
// 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 = gcnew System::Drawing::Font( Font->FontFamily,fontSize,Font->Style );
// Increase the size width and height of the button
// by 5 points each.
Size = System::Drawing::Size( Size.Width + 5, Size.Height + 5 );
// Call myBase.OnMouseHover to activate the delegate.
Button::OnMouseHover( e );
}
virtual void OnMouseMove( MouseEventArgs^ e ) override
{
// Make the cursor the Hand cursor when the mouse moves
// over the button.
Cursor = Cursors::Hand;
// Call MyBase.OnMouseMove to activate the delegate.
Button::OnMouseMove( e );
}
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 cursor the Hand cursor when the mouse moves
// over the button.
Cursor = Cursors.Hand;
// Call MyBase.OnMouseMove to activate the delegate.
base.OnMouseMove(e);
}
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 cursor the Hand cursor when the mouse moves
' over the button.
Cursor = Cursors.Hand
' Call MyBase.OnMouseMove to activate the delegate.
MyBase.OnMouseMove(e)
End Sub
注解
引发事件时,将通过委托调用事件处理程序。Raising an event invokes the event handler through a delegate. 有关详细信息,请参阅 处理和引发事件。For more information, see Handling and Raising Events.
OnMouseHover 方法还允许派生类对事件进行处理而不必附加委托。The OnMouseHover method also allows derived classes to handle the event without attaching a delegate. 这是在派生类中处理事件的首选技术。This is the preferred technique for handling the event in a derived class.
继承者说明
在派生类中重写 OnMouseHover(EventArgs) 时,一定要调用基类的 OnMouseHover(EventArgs) 方法,以便已注册的委托对事件进行接收。When overriding OnMouseHover(EventArgs) in a derived class, be sure to call the base class's OnMouseHover(EventArgs) method so that registered delegates receive the event.