vb中关于模块问题。
vb中关于模块问题。请问为什么这里说函数未定义?这个代码在窗体里工作正常,我为了整洁,就研究了下模块,但这里有问题啊...
vb中关于模块问题。请问为什么这里说函数未定义?这个代码在窗体里工作正常,我为了整洁,就研究了下模块,但这里有问题啊
展开
展开全部
Controls是窗体的属性,不是模块的属性,所以把它放到模块中就会出错了。
如果要把Controls放在模块中使用,就要明确指定它的所属窗体,比如 Form1.Controls ,这样就没错了。
补充说一下,之所以在窗体中可以直接用 Controls,是因为当前窗体(即Me)是默认值,可以省略不写的,完整的写法应该是 Me.Controls
再补充说一下:并不是所有代码都可以放到模块中的,如果是与窗体中的控件直接有关联的代码就不适合放到模块中。一般都是在多个窗体中公用的、与控件没有直接关系的自定义函数或子过程才适合放到模块中。
再再补充一下:具体到你这个程序,你可以把列表框这个对象直接传递到你这个sosuoList子过程中,即:
Public Sub sosuoList(List As ListBox, MyPath As String)
然后下面就是
List.AddItem Myname
就行了,不用Controls了。当然在窗体中调用这个子过程的时候也要改一下,比如:
sosuoList List1, "d:\abc\"
注意List1这里就不需要加引号了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询