Posted on 2009-09-17 10:37
天之骄子 阅读(1850)
评论(3) 编辑 收藏 引用
打个比喻:
你的家庭现在就好比是一个程序(窗体也是程序的一部分,实际窗体、控件都是由命令语句动态构建的,只是省了你自己写代码而已),控件ID就好像你的名字,一般一个家庭(程序)里的众多成员(控件)之间是不会重名的,每个人在自己家(程序)里的名字(控件ID)都是唯一的,当你的家人(程序代码)需要找你,叫你名字的时候就直接称呼你的名字(控件ID)。
但是全国无数个家庭,就可能会有重名了吧,于是政府(系统)就不管你的名字(控件ID)是什么,直接分配给每个人(控件)一个身份证号码(句柄),公安局(其他程序)来找你(一个控件)的时候就使用你的身份证号(句柄)来保证在全国(内存)范围里也不会把你弄错。
每个家庭组成以后(运行了一个新程序),生下了小宝宝(构建新的控件)就会得到一个全国(内存)唯一的一个身份证号(句柄),以保证在国内(内存)的唯一性。当一个家庭的成员寿终正寝(控件销毁)的时候,身份证号码(句柄)同时被作废(系统收回,以后分配给新产生的控件)。