c# 如何重写控件的OnPaint事件
2008-11-26 11:46
281 查看
使用OnPaint事件可以随时绘制图形
调用窗体的OnPaint事件
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
//绘图
}
但是如何重写控件的OnPaint事件呢?比如说绘图是在PictureBox中绘制的,那么如何重写PictureBox的OnPaint事件?
我们无法直接在窗体的代码中重写控件的OnPaint事件,只能重写窗体的OnPaint事件。
重写控件的OnPaint事件,必须创建一个新的控件。这个控件继承Windows的控件,然后在创建的控件中重写控件的OnPaint事件。
以PictureBox为例:
//定义一个新的控件,继承PictureBox控件
public class myPictureBox : PictureBox
{
//自定义控件的构造函数
public myPictureBox()
{
}
//重写控件的OnPaint属性
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
//绘图
}
}
使用这种方法,就可以重写任何一个控件的OnPaint事件了。
调用窗体的OnPaint事件
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
//绘图
}
但是如何重写控件的OnPaint事件呢?比如说绘图是在PictureBox中绘制的,那么如何重写PictureBox的OnPaint事件?
我们无法直接在窗体的代码中重写控件的OnPaint事件,只能重写窗体的OnPaint事件。
重写控件的OnPaint事件,必须创建一个新的控件。这个控件继承Windows的控件,然后在创建的控件中重写控件的OnPaint事件。
以PictureBox为例:
//定义一个新的控件,继承PictureBox控件
public class myPictureBox : PictureBox
{
//自定义控件的构造函数
public myPictureBox()
{
}
//重写控件的OnPaint属性
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
//绘图
}
}
使用这种方法,就可以重写任何一个控件的OnPaint事件了。
相关文章推荐
- C# 如何用代码触控件的事件
- C# 如何写动态创建的窗体的控件的click等事件
- C#中控件Control的Paint事件和OnPaint虚函数的区别
- C#中控件Control的Paint事件和OnPaint虚函数的区别
- C# 控件如何获取事件已经注册的方法
- VS2003 C#:重写键盘响应事件、动态创建控件、创建线程、在线程中使用委托在界面显示数据
- c# 给窗体添加MouseEnter事件,可鼠标移到任意控件均会产生MouseEnter事件,如何识别是哪个产生的呢?
- C#.NET GridView 中如何获取脚中的控件ID并添加客户端事件
- C#控件的事件重写的理解与自我观点
- C# TreeView树视图控件 如何把树与数据库的信息进行绑定
- 如何取得通用权限管理控件授权(下载C#通用权限管理源码)
- 如何取得通用权限管理控件授权(下载C#通用权限管理源码)
- 如何使用 WebBrowser 控件在 Visual C# 2005 或 Visual C# .NET 中打开 Office 文档
- 技巧篇:如何重写基类的事件
- vn.net和C#.net动态加载某控件事件
- 关于Asp.net事件,如何在触发子控件的事件时,同步触发父页面的事件
- C#中删除控件的事件的方法
- C#后台如何获得web控件的值
- c# 动态产生控件 注册动态控件事件
- c#创建自定义控件并给控件添加事件