對于動態生成控件與動態獲得控件的句柄值
發表時間:2023-07-20 來源:明輝站整理相關軟件相關文章人氣:
[摘要]從問題者的發的貼子:help me里面需要動態獲得控件的句柄值,這些日子在vs.net里試了一下,總結出一點點經驗,如下:1.動態生成控件:不管是在asp.net里還是在windows applic...
從問題者的發的貼子:help me里面需要動態獲得控件的句柄值,這些日子在vs.net里試了一下,總結出一點點經驗,如下:
1.動態生成控件:
不管是在asp.net里還是在windows application里,每一個控件都可以作為母控件,在其中添加一些子的控件,當然添加可以是手工添加進去,而動態添加控件一般如下:(asp.net中)
dim textbox as textbox '動態添加一個textbox控件
textbox=new textbox()
textbox.id="test" '指定這個textbox的一些屬性
textbox.text="好玩"
me.controls.add(textbox)'在當前窗口上動態添加這個textbox
在vs.net里頭每個控件都有controls屬性,此屬性返回它所包含的子控件的集合,可以用add方法動態添加一個控件,clear方法清空所有控件等等
2.動態獲得控件的句柄值(也在asp.net中)
如果要獲得一個控件的子控件的句柄值,只需從它的controls集合里返回一個就可以,假設上例中窗口中只有我們動態生成的textbox一個控件
則:dim textbox as textbox
textbox=me.controls(0)'獲得句柄值,如有多個,則可用me.controls(1)、me.controls(2)等等
response.write(textbox.id()) '它的屬性值
response.write(textbox.text())
而如果要獲得它的母控件(即包含它的控件)的句柄值
只需這樣:textbox.parent即為當前窗口的句柄值了
也可以遍歷一個控件下所有的子控件
for i=0 to me.controls.count-1
response.write(me.controls(i).id)
next
在windows application里像controls的各種屬性也是能用的,而且用法于在asp.net中一致,只是在beta2版里彈不出來這個屬性,不知為何,也許這是beta2編譯器的一個小bug巴!
總結:用動態的方法來獲得和生成控件給程序帶來很大的靈活性!其主要是用控件的controls集合的一些方法了!
這些是我自己摸索出來的,不足之處還請指教!