Posted on 2009-09-17 10:37
天之驕子 閱讀(1881)
評論(3) 編輯 收藏 引用
打個比喻:
你的家庭現在就好比是一個程序(窗體也是程序的一部分,實際窗體、控件都是由命令語句動態構建的,只是省了你自己寫代碼而已),控件ID就好像你的名字,一般一個家庭(程序)里的眾多成員(控件)之間是不會重名的,每個人在自己家(程序)里的名字(控件ID)都是唯一的,當你的家人(程序代碼)需要找你,叫你名字的時候就直接稱呼你的名字(控件ID)。
但是全國無數個家庭,就可能會有重名了吧,于是政府(系統)就不管你的名字(控件ID)是什么,直接分配給每個人(控件)一個身份證號碼(句柄),公安局(其他程序)來找你(一個控件)的時候就使用你的身份證號(句柄)來保證在全國(內存)范圍里也不會把你弄錯。
每個家庭組成以后(運行了一個新程序),生下了小寶寶(構建新的控件)就會得到一個全國(內存)唯一的一個身份證號(句柄),以保證在國內(內存)的唯一性。當一個家庭的成員壽終正寢(控件銷毀)的時候,身份證號碼(句柄)同時被作廢(系統收回,以后分配給新產生的控件)。