Control.OnMouseHover(EventArgs) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
引发 MouseHover 事件。
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 方法。 若要运行该示例,请将以下代码粘贴到新窗体中,并将此类粘贴到表单后面,形成相同的文件。 向窗体添加类型的 FunButton
按钮。
// 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
注解
引发事件时,将通过委托调用事件处理程序。 有关详细信息,请参阅 处理和引发事件。
OnMouseHover 方法还允许派生类对事件进行处理而不必附加委托。 这是在派生类中处理事件的首选技术。
继承者说明
在派生类中重写 OnMouseHover(EventArgs) 时,一定要调用基类的 OnMouseHover(EventArgs) 方法,以便已注册的委托对事件进行接收。