明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

對(duì)于動(dòng)態(tài)生成控件與動(dòng)態(tài)獲得控件的句柄值

[摘要]從問題者的發(fā)的貼子:help me里面需要?jiǎng)討B(tài)獲得控件的句柄值,這些日子在vs.net里試了一下,總結(jié)出一點(diǎn)點(diǎn)經(jīng)驗(yàn),如下:1.動(dòng)態(tài)生成控件:不管是在asp.net里還是在windows applic...
從問題者的發(fā)的貼子:help me里面需要?jiǎng)討B(tài)獲得控件的句柄值,這些日子在vs.net里試了一下,總結(jié)出一點(diǎn)點(diǎn)經(jīng)驗(yàn),如下:
1.動(dòng)態(tài)生成控件:
不管是在asp.net里還是在windows application里,每一個(gè)控件都可以作為母控件,在其中添加一些子的控件,當(dāng)然添加可以是手工添加進(jìn)去,而動(dòng)態(tài)添加控件一般如下:(asp.net中)
 dim textbox as textbox '動(dòng)態(tài)添加一個(gè)textbox控件
textbox=new textbox()
 textbox.id="test" '指定這個(gè)textbox的一些屬性
textbox.text="好玩"
me.controls.add(textbox)'在當(dāng)前窗口上動(dòng)態(tài)添加這個(gè)textbox
在vs.net里頭每個(gè)控件都有controls屬性,此屬性返回它所包含的子控件的集合,可以用add方法動(dòng)態(tài)添加一個(gè)控件,clear方法清空所有控件等等
2.動(dòng)態(tài)獲得控件的句柄值(也在asp.net中)
如果要獲得一個(gè)控件的子控件的句柄值,只需從它的controls集合里返回一個(gè)就可以,假設(shè)上例中窗口中只有我們動(dòng)態(tài)生成的textbox一個(gè)控件
則:dim textbox as textbox
textbox=me.controls(0)'獲得句柄值,如有多個(gè),則可用me.controls(1)、me.controls(2)等等
response.write(textbox.id()) '它的屬性值
response.write(textbox.text())
而如果要獲得它的母控件(即包含它的控件)的句柄值
只需這樣:textbox.parent即為當(dāng)前窗口的句柄值了
也可以遍歷一個(gè)控件下所有的子控件
for i=0 to me.controls.count-1
response.write(me.controls(i).id)
next

在windows application里像controls的各種屬性也是能用的,而且用法于在asp.net中一致,只是在beta2版里彈不出來這個(gè)屬性,不知為何,也許這是beta2編譯器的一個(gè)小bug巴!
總結(jié):用動(dòng)態(tài)的方法來獲得和生成控件給程序帶來很大的靈活性!其主要是用控件的controls集合的一些方法了!
這些是我自己摸索出來的,不足之處還請(qǐng)指教!