电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 图形图象-> Authorware教程
visualbasic控件数据_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 

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

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

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

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

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

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


    请注意示例是如何使用object(index)语法引用每个控件的。在创建控件时指定索引值。实际上,在设计时为一个控件指定任意的索引,这将使控件成为数组的一部分。
Index属性区分控件数组中的元素。当数组中的一个控件识别了一个事件时,VisualBasic将调用公共事件过程并传递一个参数(Index属性的值),分辨是哪个控件识别事件。
    例如,Number_Click事件过程的第一行代码是这样的:
    PrivateSubNumber_Click(IndexAsInteger)
    如果Number(0)识别事件,则VisualBasic将0作为index参数传递,而如果Number(1)识别事件,则VisualBasic将1作为index参数传递。与索引值不同,对于Number(0)到Number(9)已执行的其余Number_Click代码都是相同的。

    设计时创建控件数组
    设计时有三种方法创建控件数组:
    1.将相同名字赋予多个控件。
    2.复制现有的控件并将其粘贴到窗体上。
    3.将控件的Index属性设置为非Null数值。
    注意必须在“菜单编辑器”中创建菜单控件数组。关于此项操作的详细信息,请参阅第六章,“创建用户界面”中的“运行时创建和修改菜单”。
要通过改变控件名称添加控件数组元素:
    1.绘制控件数组中要添加的控件(必须为同一类型的控件)决定哪一个控件作为数组中的第一个元素。
    2.选定控件并将其Name设置值变成数组第一个元素的Name设置值。
    3.在数组中为控件输入现有名称时,VisualBasic将显示一个对话框,要求确认是否要创建控件数组。此时选择“确定”确认操作。
    例如,若控件数组第一个元素名为cmdCtlArr,则选择一个CommandButton将其添加到数组中,并将其名称设置为cmdCtlArr,此时将显示这样一段信息:“已经存在名为cmdCtlArr的控件。是否要创建控件数组?”。选择“确定”确认操作。
    用这种方法添加的控件仅仅共享Name属性和控件类型;其它属性与最初绘制控件时的值相同。
    要通过复制现存控件添加控件数组元素:
    1.绘制控件数组中的控件。
    2.当控件获得焦点时,选择“编辑”菜单中的“复制”命令。
    3.在“编辑”菜单中,选择“粘贴”命令。VisualBasic将显示一个对话框询问是否确认创建控件数组。选择“确定”确认操    作。指定给控件的索引值为1。绘制的第一个控件具有索引值0。
每个新数组元素的索引值与其添加到控件数组中的次序相同。这样添加控件时,大多数可视属性,例如高度、宽度和颜色,将从数组中第一个控件复制到新控件中。

    运行时添加控件数组
    在运行时,可用Load和Unload语句添加和删除控件数组中的控件,然而,添加的控件必须是现有控件数组的元素。必须在设计时创建一个(在大多数情况下)Index属性为0的控件,然后在运行时使用如下语法:

    加载控件数组的新元素时,大多数属性设置值将由数组中具有最小下标的现有元素复制——本例中是索引值为0的元素。因为不会自动把Visible、Index和TabIndex属性设置值复制到控件数组的新元素中,所以,为了使新添加的控件可见,必须将其Visible属性设置为True。
    注意试图对数组中已存在的索引值使用Load语句时,VisualBasic将生成一个错误。
    重点可用Unload语句删除所有由Load语句创建的控件,然而,Unload无法删除设计时创建的控件,无论它们是否是控件数组的一部分。

    控件方案:在控件数组中添加和删除控件
    如何在运行时添加和删除控件,控件数组示例对此作了演示,这里,控件是选项按钮。根据这个示例,用户可以添加选项按钮,改变图片框背景颜色。
    如图7.3所示,启动窗体,然后在上面绘制一个图片框、一个标签、两个选项按钮和三个命令按钮。


    控件数组应用程序的事件
    接着,必须添加选项按钮和命令按钮的事件过程。添加窗体声明后启动应用程序:
    DimMaxIdAsInteger
    所有选项按钮共享Click事件过程:
    PrivateSuboptButton_Click(IndexAsInteger)
       picDisplay.BackColor=QBColor(Index 1)
    EndSub
    通过“添加”命令按钮的Click事件过程添加新的选项按钮。本例中,在执行Load语句前,代码将检查确认加载的选项按钮数不超过十个。加载控件之后,必须将其Visible属性设置为True。
    PrivateSubcmdAdd_Click()
       IfMaxId=0ThenMaxId=1   设置全部选项按钮。
       IfMaxId>8ThenExitSub   只允许十个按钮。
       MaxId=MaxId 1        按钮计数递增。
       LoadoptButton(MaxId)      创建新按钮。
       optButton(0).SetFocus      重置按钮选项。
       将新按钮放置在上一个按钮下方。
       optButton(MaxId).Top=optButton(MaxId-1)._
       Top 400
       optButton(MaxId).Visible=True  显示新按钮。
       optButton(MaxId).Caption="Option"&MaxId 1
    EndSub
    通过“删除”命令按钮的Click事件过程删除选项按钮:
    PrivateSubcmdDelete_Click()
       IfMaxId<=1ThenExitSub      保留最初的两个按钮。
       UnloadoptButton(MaxId)        删除最后的按钮。
       MaxId=MaxId-1           按钮计数递减。
       optButton(0).SetFocus         重置按钮选项。
    EndSub
    通过“关闭”按钮的Click事件过程结束应用程序:
    PrivateSubcmdClose_Click()
       UnloadMe
    EndSub

->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·在authorware中灵活运用提示文本_authorware教程
·a016-authorware中checked系统变数的用法_authorware教程
·authorware 6.0 技巧与实例(2)准备工作_authorware教程
·authorware 6.0 技巧与实例(3)移动的标题文字_authorware教程
·authorware 6.0 技巧与实例(5)选择题_authorware教程
·利用authorware动态绘制二次函数曲线图_authorware教程
·authorware 6.0 技巧与实例(4)给电视片配音_authorware教程
·authorware 6.0 技巧与实例(6)自定义按钮_authorware教程
·authorware 6.0 技巧与实例(7)拼图游戏_authorware教程
·authorware 6.0 技巧与实例(9)标准下拉菜单_authorware教程

最新文章
·photoshop通道图层转换黑白照片_photoshop教程
·photoshop设计精美游戏包装盒_photoshop教程
·用photoshop打造水彩风格eva美女凌波丽_photoshop教程
·fireworks滤镜制作喷溅效果_fireworks教程
·fireworks去照片红眼功能使用详解_fireworks教程
·photoshop实例教程:做蓝色水波纹理_photoshop教程
·在windows xp中创建新的iis站点的命令_windows xp
·authorware中自动擦除flash动画_authorware教程
·authorware插入文本的四种方法_authorware教程
·authorware调整动画尺寸_authorware教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号