Shape.OnPaint 方法

引发 Paint 事件。

命名空间:  Microsoft.VisualBasic.PowerPacks
程序集:  Microsoft.VisualBasic.PowerPacks.Vs(在 Microsoft.VisualBasic.PowerPacks.Vs.dll 中)

语法

声明
Protected Friend Overridable Sub OnPaint ( _
    e As PaintEventArgs _
)
protected internal virtual void OnPaint(
    PaintEventArgs e
)
protected public:
virtual void OnPaint(
    PaintEventArgs^ e
)
abstract OnPaint : 
        e:PaintEventArgs -> unit 
override OnPaint : 
        e:PaintEventArgs -> unit 
 function OnPaint(
    e : PaintEventArgs
)

参数

备注

引发事件时会通过委托调用事件处理程序。 有关更多信息,请参见 引发事件

OnPaint 方法还允许派生类对事件进行处理而不必附加委托。 这是在派生类中处理事件的首选技术。

对继承者的说明

在派生类中重写 OnPaint 时,确保调用基类的 OnPaint 方法,以使注册的委托能接收事件。

示例

下面的示例是执行的方法,当 Click 事件时。 Shape 类具有执行方法与命名模式 OnEventName 的方法,当 EventName 事件时。 (EventName 表示相应的事件名称。)

下面的示例演示如何重写在从 LineShape派生的类的 OnClickOnLostFocus 方法。

Public Class HighlightLine
    Inherits LineShape
    Protected Overrides Sub OnClick(ByVal e As EventArgs)
        ' Change the color of the line when clicked.
        Me.BorderColor = Color.Red
        MyBase.OnClick(e)
    End Sub
    Protected Overrides Sub OnLostFocus(ByVal e As System.EventArgs)
        ' Change the color of the line when focus is changed.
        Me.BorderColor = Color.Black
        MyBase.OnLostFocus(e)
    End Sub
End Class
public class HighlightLine :
    LineShape
{
    protected override void OnClick(EventArgs e)
    {
        // Change the color of the line when clicked.
        this.BorderColor = Color.Red;
        base.OnClick(e);
    }
    protected override void OnLostFocus(System.EventArgs e)
    {
        // Change the color of the line when focus is changed.
        this.BorderColor = Color.Black;
        base.OnLostFocus(e);
    }
}

.NET Framework 安全性

请参见

参考

Shape 类

Microsoft.VisualBasic.PowerPacks 命名空间

其他资源

如何:使用 LineShape 控件绘制直线 (Visual Studio)

如何:使用 OvalShape 和 RectangleShape 控件绘制形状 (Visual Studio)

Line 和 Shape 控件简介 (Visual Studio)