vb中关于模块问题。

vb中关于模块问题。请问为什么这里说函数未定义?这个代码在窗体里工作正常,我为了整洁,就研究了下模块,但这里有问题啊... vb中关于模块问题。请问为什么这里说函数未定义?这个代码在窗体里工作正常,我为了整洁,就研究了下模块,但这里有问题啊 展开
 我来答
网海1书生
科技发烧友

2017-03-07 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26226

向TA提问 私信TA
展开全部

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这里就不需要加引号了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式