我们无法直接在窗体的代码中重写控件的OnPaint事件,只能重写窗体的OnPaint事件。
重写控件的OnPaint事件,必须创建一个新的控件。这个控件继承Windows的控件,然后在创建的控件中重写控件的OnPaint事件。
以PictureBox为例:
//定义一个新的控件,继承PictureBox控件
public class myPictureBox : PictureBox
{
//自定义控件的构造函数
public myPictureBox()
{
}
//重写控件的OnPaint属性
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
//绘图
}
}