获取控件属性VB6

Kar*_*yan 1 vb6

我正在尝试更改 VB6 代码中的一些逻辑,并且我需要通过属性名称获取控件属性。类似于 Access control.properties属性。

Dim propertyName as string 
propertyName ="Visible"
Me.Controls("mnuRepots").Properties(propertyName)="True"
Run Code Online (Sandbox Code Playgroud)

但我的 VB6 说对象不支持此属性或方法

小智 5

要根据动态名称执行方法或设置或获取属性,您可以使用该CallByName函数,如下所示:

CallByName mnuReports, "Visible", vbLet, True
Run Code Online (Sandbox Code Playgroud)

请注意,几乎总是有更好的方法通过使用多态性或更简单的 Select Case 语句在不同情况下调用不同代码。动态加载代码会使代码更难阅读,并且(如果您从不受信任的来源获取任何输入)很容易搞砸并允许人们调用不是您想要他们调用的方法,导致安全漏洞。