vb中关于模块问题。
答案:1 悬赏:40 手机版
解决时间 2021-11-26 06:54
- 提问者网友:斑駁影
- 2021-11-25 18:08
vb中关于模块问题。
最佳答案
- 五星知识达人网友:雪起风沙痕
- 2021-11-25 19:11
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这里就不需要加引号了
如果要把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这里就不需要加引号了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯