dynamic – 在运行时VB6为表单上的每个控件添加一个事件处理程序
发布时间:2020-12-17 00:06:26 所属栏目:大数据 来源:网络整理
导读:我有一个VB6应用程序,我希望在其应用程序范围内的控件之间具有一致的行为.例如,其中一种行为是在获得焦点时突出显示文本框,在失去焦点时删除突出显示.我希望这种情况发生在每一种形式上. 我正在尝试做的是有一个子程序,当它们加载时可以被所有表单调用,这将
我有一个VB6应用程序,我希望在其应用程序范围内的控件之间具有一致的行为.例如,其中一种行为是在获得焦点时突出显示文本框,在失去焦点时删除突出显示.我希望这种情况发生在每一种形式上.
我正在尝试做的是有一个子程序,当它们加载时可以被所有表单调用,这将使这种行为发生.这样,我不必为每个单独的文本框手动编码以使其突出显示. 我试过让VB6在运行时将一个事件处理程序附加到一个控件,但它只是咆哮着我.我来自.Net背景,所以也许我接近VB6的错误.但是,如何在不必为每个控件手动编码的情况下获得所需的行为?
你也可以
“Subclass” Your TextBox Controls Using WithEvents .这里的优点是你可以在一个地方编码突出显示和去突出显示,而无需通过并替换所有现有的控件(如Scott建议的那样).
缺点是您必须将代码添加到所有表单的Form_Load事件中以“注册”该表单上的控件.但是,如果您想将该技术应用于每个控件,即使这样也不应该太糟糕;在这种情况下,您只需要编写一个循环遍历表单的.Controls集合并注册每个控件的函数.然后在每个表单的Form_Load事件中调用此函数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |