代码简化之控件数组及with...end with的使用

敲机房收费系统中组合查询时,总是会用到ComboBox组合框。好多窗体都涉及到下边的内容这里写图片描述

每个ComboBox中都有很多内容。通常对其添加信息的时候会使用以下代码:


   cboField(1).AddItem "卡号"
   cboField(1).AddItem "姓名"
   cboField(1).AddItem "上机日期"
   cboField(1).AddItem "上机时间"
   cboField(1).AddItem "下机日期"
   cboField(1).AddItem "下机时间"
   cboField(1).AddItem "消费金额"
   cboField(1).AddItem "余额"
   cboField(1).AddItem "备注"

   cboOperator(1).AddItem "="
   cboOperator(1).AddItem "<>"
   cboOperator(1).AddItem "<"
   cboOperator(1).AddItem ">"

   cboRelation(1).AddItem ""
   cboRelation(1).AddItem "与"
   cboRelation(1).AddItem "或"


   cboField(2).AddItem "卡号"
   cboField(2).AddItem "姓名"
   cboField(2).AddItem "上机日期"
   cboField(2).AddItem "上机时间"
   cboField(2).AddItem "下机日期"
   cboField(2).AddItem "下机时间"
   cboField(2).AddItem "消费金额"
   cboField(2).AddItem "余额"
   cboField(2).AddItem "备注"

   cboOperator(2).AddItem "="
   cboOperator(2).AddItem "<>"
   cboOperator(2).AddItem "<"
   cboOperator(2).AddItem ">"

窗体的整片代码看下来,就是多多多。别说自己不想敲,估计要是让别人看,人家也不乐意看吧。 虽然自己也有想过怎样才能避免代码重复,不再冗余。可是总将就着也没查。无意中看到小伙伴的代码,哦,眼前一亮。
我们可以把一些相同类型的控件弄成一个组,即控件数组。控件数组最大的特点是:共享同样的事件过程。所以适用于若干个控件执行的操作相似的场合。
于是以上代码便可简化为:

    Dim a, b, c

    For a = 0 To 2
        With cboField(a)
            .AddItem "卡号"
            .AddItem "姓名"
            .AddItem "上机日期"
            .AddItem "上机时间"
            .AddItem "下机日期"
            .AddItem "下机时间"
            .AddItem "消费金额"
            .AddItem "余额"
            .AddItem "备注"
        End With
    Next a


    For b = 0 To 2
        With cboOperator(b)
            .AddItem "="
            .AddItem "<>"
            .AddItem "<"
            .AddItem ">"
         End With
    Next b


    For c = 0 To 1
         With cboRelation(c)
              .AddItem "与"
              .AddItem "或"
         End With
    Next c

其中涉及到with…end with 语句的使用,再复习一下
定义:
是指在一个单一对象或一个用户定义类型上执行一系列的语句。
语法:
With object
[statements]
End With

With 语句的语法具有以下几个部分:
部分 描述
object 必要参数。一个对象或用户自定义类型的名称。 statements 可选参数。要执行在 object 上的一条或多条语句。

说明: With 语句可以对某个对象执行一系列的语句,而不用重复指出对象的名称。例如,要改变一个对象的多个属性,可以在 With 控制结构中加上属性的赋值语句,这时候只是引用对象一次而不是在每个属性赋值时都要引用它
注意: 当程序一旦进入 With 块,object 就不能改变。因此不能用一个 With 语句来设置多个不同的对象。

以上代码也使用到了with语句,可以减少代码量,避免重复。

其实这些小小的知识点我们都曾在VB书,百例啊,视频中都见过的,只是当初看的太粗略,没有掌握。当我们在实践中用到的时候印象才会更加深刻吧。灵活运用这些知识,使代码不再冗余,方便你我。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值