DotNet剖析系列(二)
——控件继承
首先想要告诉大家的是MS一个龌龊的行为,一个人所共知的行为。而这个问题在所有MS提供的基本控件里都存在,比如我们想要对ComboBox这个控件稍微的扩展一下,加上一点点我们自已的东东。结果是很麻烦,很麻烦,甚至你都没办法使用继承来重载OnPaint。因为正常情况下,OnPaint在这个控件里永远不会调用,当然MS告诉你可以用this.SetStyle(ControlStyles.UserPaint)来激活这个方法,很好,不过当你运行了一下,发觉好象不是这么简单,
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint (e);
}
什么东东都没有了,就是一个白板,考,这时候你除了自已重新绘制,别无它法。
当然聪明的程序员不会被MS的小伎俩难倒。既然你不让我从OnPaint重载,你总得使用消息吧,那我重载WndProc
private