Vb6 表单控件封装

Vb6 表单控件封装,vb6,encapsulation,Vb6,Encapsulation,(在VB6中)是否有方法将控件封装在表单中,以便表单的使用者无法修改该表单上控件的属性 e、 g如果我有一个名为Form1的表单,其中有一个名为Command1的按钮,我如何防止消费者(属于Form1)这样做: Form1.Command1.Enable = True 我更希望公开一个类似EnableCommand()的方法,并让该方法决定启用该命令是否有效 大多数其他语言窗体上的控件在默认情况下是私有的,如何在VB6中使控件成为私有的。在VB.Net中,可以在窗体设计器中设置控件的访问修饰符

(在VB6中)是否有方法将控件封装在表单中,以便表单的使用者无法修改该表单上控件的属性

e、 g如果我有一个名为
Form1
的表单,其中有一个名为
Command1
的按钮,我如何防止消费者(属于
Form1
)这样做:

Form1.Command1.Enable = True
我更希望公开一个类似
EnableCommand()
的方法,并让该方法决定启用该命令是否有效


大多数其他语言窗体上的控件在默认情况下是私有的,如何在VB6中使控件成为私有的。在VB.Net中,可以在窗体设计器中设置控件的访问修饰符,但在VB6中不能这样做


在大型应用程序中,可以将逻辑细分为单独的组件(通常是DLL)。那么其他组件将根本无法访问表单,包括其控件。

另一种方法是将按钮放在usercontrol上,并定义自己的属性集。这更是讨厌这种该死的语言的原因。谢谢你的回复。@LukeWage但是用户控件本身并没有封装在表单中,所以消费者可以用该控件移动/隐藏/[做他们想做的任何事情]。@FrancoisNel:没错。我假设这只是一个启用/禁用按钮控件本身的问题。如果您还想封装用户控件,请按照MarkJ的建议,将整个表单放入一个单独的dll中。+1,因为我不明白为什么这个问题被否决。