我有一个 VB6 应用程序,我希望其控件在应用程序范围内具有一致的行为。例如,其中一种行为是在文本框获得焦点时突出显示它,并在失去焦点时删除突出显示。我希望这种情况发生在每一种形式上。
我想做的是拥有一个子过程,所有表单在加载时都可以调用该子过程,从而使这种行为发生。这样,我就不必为每个单独的文本框手动编码以使其突出显示。
我尝试让 VB6 在运行时将事件处理程序附加到控件,但它只是对我咆哮。我有 .Net 背景,所以也许我对 VB6 的理解是错误的。但是,如何才能获得所需的行为,而无需为每个控件手动编码呢?
你也可以使用“子类”您的 TextBox 控件WithEvents http://www.thescarms.com/vbasic/SubClassTxt.aspx。这里的优点是您可以在一个地方编写突出显示和取消突出显示的代码,而无需遍历和替换所有现有控件(正如斯科特建议的那样)。
缺点是您必须向所有表单的 Form_Load 事件添加代码才能“注册”该表单上的控件。然而,如果您想将该技术应用于every控制;在这种情况下,您只需要编写一个循环的函数.Controls
表单的集合并注册每个控件。然后只需在每个表单的 Form_Load 事件中调用此函数即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)