.net firamework 框架里面的控件的继承关系。
2008-08-05 20:18 金色海洋(jyk) 阅读(1056) 评论(0) 编辑 收藏 举报
记得当初学习VB6.0的时候,入门的书,一上来就是控件的介绍,控件的属性、事件的使用,拖拽一个文本框、一个按钮,然后再双击按钮,在按钮的事件里面给文本框的Text 设置一个“hello word”,第一步就OK了。这就是传说中的 Hello Word。
但是在学习Delphi的时候,书里面写的是控件的继承关系,按钮控件是继承的那个类,文本框又是继承的那个类,这些类又是继承的哪些类。会弄出来一个“树”出来。不知道.net方面的书有没有这样的树,管他有没有呢,先自己弄一个玩玩。
最近在写自定义控件,感觉需要先稍微弄明白一下框架自带的控件都是怎么继承的,事件、属性又是在那里定义的,比如DataBind()是在那里定义的,DataSource又是在那里定义的。对了还想问一下,怎么快速的知道一个事件是不是在接口里面定义的?
我用Reflector.exe打开 .net Framework2.0 的dll,找到我想看的控件,把他们的定义copy写来,写在自己的程序里面,然后利用vs2008的“查看类关系图”的功能,得到了下面的这张图。
奇怪,DataBind() 是在 Control 里面定义的,而 DataSource 却在三个地方定义,这个就很郁闷了,他们好像也不是在同一个接口里面定义的。
DataGrid和GridView居然没有什么关系,看来 GridView 好像是重写了一遍。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!