您的位置:逆风者 VB 正文
原作者:www.upwinder.com 添加时间:2007-09-01 原文发表:2007-08-31 人气:85 来源:未知

本文章共3649字,分3页,当前第1页,快速翻页:
 

通过限制焦点验证控件数据

    Validate 事件和 CausesValidation 属性是在允许用户将焦点移开控件之前,串联使用以确认对控件的输入的。例如:假设有几个文本框和一个 Help 按钮的应用程序,当每个文本框接收焦点时,您想在文本框的特殊验证准则被满足之前阻止用户移动焦点;然而,您也想允许用户在任何时候都能单击 Help 按钮。 要做到这点,在 Validate 事件中设置验证准则,并将 Help按钮的 CausesValidation 属性设置为 False。假如属性设置为 True (缺省设置),Validate 事件将在第一个控件上发生。假如属性设置为 False,在第一个控件上的 Validate 事件将抢先发生。
逆风编程精品
    Validate 事件比 LostFocus 事件更适合验证数据输入项,因为 LostFocus 事件(按照定义)是在焦点已移动后发生。相反,通过使用Validate 事件,您能防止焦点移动到另一个控件直到验证规则被满足。
    可能的使用
     数据输入项应用程序需要执行比 Masked Edit 控件所提供的或在业务规则中发生的有效性验证更复杂的数据输入项有效性验证。
     窗体需要防止用户使用 TAB 键或加速键将控件移走,直到数据已被输入到字段中。
     在 Internet Explorer 中运行的 ActiveX 文档需要一种方法,使用户在脚本程序化地移动焦点之前完成在窗体上的操作。

    在 Validate 事件上控制焦点
    Validate 事件包括一个 keepfocus 参数。当参数设置为 True时,控件将保留焦点。这样做有效地防止了用户单击其它控件。

    使用控件数组
    控件数组是一组具有共同名称和类型的控件。它们的事件过程也相同。一个控件数组至少应有一个元素,元素数目可在系统资源和内存允许的范围内增加;数组的大小也取决于每个控件所需的内存和 Windows 资源。在控件数组中可用到的最大索引值为 32767。同一控件数组中的元素有自己的属性设置值。常见的控件数组的用处包括实现菜单控件和选项按钮分组。
    注意 Visual Basic 包括了在运行时动态地将未引用的控件添加到 Controls集合中的能力。本主题仅指在设计时通过将一个控件剪切和粘贴到窗体上添加的引用控件。有关在运行时添加控件的详细信息,请参阅参考主题“Add 方法(Controls 集合)”和“Add 方法(Licenses 集合)”。

    为何使用控件数组
在设计时,使用控件数组添加控件所消耗的资源比直接向窗体添加多个相同类型的控件消耗的资源要少。当希望若干控件共享代码时,控件数组也很有用。例如,如果创建了一个包含三个选项按钮的控件数组,则无论单击哪个按钮时都将执行相同的代码。
    若要在运行时创建一个控件的新实例,则新控件必须是控件数组的成员。使用控件数组时,每个新成员继承数组的公共事件过程。
    使用控件数组机制是不可能在运行时创建新控件的,因为每个新控件都继承为数组编写好的事件过程。例如,如果窗体上有若干文本框,而且每个文本框都接受一个日期数值,则可创建一个控件数组,使所有文本框共享同一个合法性检查代码。

    示例应用程序:Calc.VBp
    图 7.2 所示的 Calculator 示例应用程序(列在 Samples!Alink("VBsamples")目录中)包含两个控件数组——数字按钮和操作按钮。


    请注意示例是如何使用 object(index) 语法引用每个控件的。在创建控件时指定索引值。实际上,在设计时为一个控件指定任意的索引,这将使控件成为数组的一部分。
Index 属性区分控件数组中的元素。当数组中的一个控件识别了一个事件时,Visual Basic 将调用公共事件过程并传递一个参数(Index 属性的值),分辨是哪个控件识别事件
    例如,Number_Click 事件过程的第一行代码是这样的:
    Private Sub Number_Click (Index As Integer)
    如果 Number(0) 识别事件,则 Visual Basic 将 0 作为 index 参数传递,而如果 Number(1) 识别
 

本文章更多内容1 - 2 - 3 - 下一页>>
相关文章

VB 神童教程第二章第十一节——滚动条
关于数据报表的打印设置
将ENTER变成TAB键
掌握开发的武器-语言
Access97的报表解决方案
用VB建立Access数据库结构
Text 转换为 Access MDB
用VB 5.0从Recordset中打印列表
VB5中远程数据库的访问
在VB中存取数据库中的图片
用数据库保存VB程序的用户设置

相关评论


本文章所属分类:首页 VB

  热门关键字: