要做一个动态添加的dropdownlist控件,要设置它的selectindexchanged事件,按网上的很多C#的方法用dd.selectindexchanged+=system.eventhandler的方法不行.在vb.net里不支持这种事件的添加方式.经msdn及实验后可以用addhandler的方法来添加事件.但这样的dropdownlist对象应该是模块级的.因为一般要在它的事件处理函数里调用它的属性,如果不是模块级的,那么你的事件处理函数就找不到对象了.
例(因为在家没有装vs.net,具体细节想不起来了,大概是):
定义一个模块级的dropdownlist控件对象
dim dd as new dropdownlist
然后在你的按钮或者别的事件里设置它的属性及父控件.
dd.id="aa"
dd.iterms.add("aa")
...
addhandler dd.selectindexchanged, addressof aa'这里的aa为你所要添加的处理函数的名称
panel1.controls.add(dd)
protected sub aa(sender as object,e as system.event.....(记不起了,呵呵)
你的处理过程
end sub
注意:应该设置一个判断标志,在你的page_load事件里生成并显示你这个控件,因为动态的控件在postback的时候会被清除掉,所以你的控件及它的事件都会没了.