VisualBasicCOM基础之更多属性_VB.net_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

VisualBasicCOM基础之更多属性

作者:黑客防线网安VB教程基地 来源:黑客防线网安VB教程基地 浏览次数:0

本篇关键词:属性更多基础代码
黑客防线网安网讯:有时候,为了更好地处理类往往需更多的属性。例如,假如你有四种不同的客户群:集团、较大、较小和新的客户类型,或者一个用于搜索的类中有三种不同的搜索方式:软盘、硬盘和网络。那么,能...
有时候为了更好地处理类往往需更多的属性例如假如你有四种不同的客户群:集团、较大、较小和新的客户类型,或者一个用于搜索的类中有三种不同的搜索方式:软盘、硬盘和网络那么,能不能最好从选项列表中选择一个,而不是用不能理解的数字或文本来设置相关属性?
  
  我想,答案是肯定的。因为这种处理就称为"枚举"。
  
  
  
  打开上一节的工程,让我们添加一些代码。
  
  在CDog类中添加下列代码:
  
  ->  PublicEnumCoatType
  
   BigAndShaggy=1
  
   ShortCrewCut=2
  
   PoodleStyleAfro=3
  
   Unknown=4
  
  endEnum->

  关键词"Enum"就是用来定义枚举的,换句话说,它是可能选项的列表。各选项都有相应的数字,也就是说BigAndShaggy表示1,ShortCrewCut等于2,等等。
  
  需要注意的是,当将枚举项相关信息添加在数据库中时,其相应的数值是非常有用的。由于"BigAndShaggy"实际代表的是数值1,所以可以直接将其插入到数据库的数值字段中。这就意味着,可以方便使用字符串来维护数据库。
  
  所以,我们来创建一个Dog的Coat类型列表,并另外定义一个属性,将这些类型添加在CDog类中。
  
  在类中声明下列变量:
  
  PrivateudtCoatAsCoatType
  
  这个定义的私有变量用来保存即将添加的Coat类型属性,注意到udtCoat变量既不是字符串也不是整型,而是我们自己定义的枚举类型CoatType。
  
  当类CDog打开时,选择"Tools"菜单中的"AddProcedure"命令,弹出相应的对话框;
  
  Name编辑框中键入Coat;
  
  选中"Property"选项按钮,然后单击[OK]。
  
  系统自动产生下列代码框架:
  
  ->  PublicPropertyGetCoat()AsVariant
  
  EndProperty
  
  PublicPropertyLetCoat(ByValvNewValueAsVariant)
  
  EndProperty->

  但我们需要的却不是这个框架。代码中,"Variant"变量类型是能接收和处理任何类型数据。在我们定义的CDog类中,最后的属性是Age,它只能接受整型。但现在需要属性能接收CoatType列表中的数据类型,因此需要作下列修改:
  
  将产生的代码中所有的"Variant"改成"CoatType";
  
  然后,添加一些实际处理属性的代码。
  
  在属性的Get过程中,添加下列代码:
  
  ->Coat=udtCoat->

  在属性的Let过程中,添加下列代码:
  
  ->udtCoat=vNewValue->

  切换到Form1;
  
  将Command按钮的代码改为:
  
  ->DimMyDogAsCDog
  SetMyDog=NewCDog
  MyDog.Name="Billy"->

  现在开始键入:MyDog.Coat=
  
  奇迹出现了,当你敲下"="键时,出现一个含有可能选项的列表,从中我们可以选择一个。
  
  完成代码的键入:MyDog.Coat=ShortCrewCut
  
  下一步,我们将获取Coat属性的值。假如现在就来简单地在消息对话框中显示属性值,则只需返回选择项的值就可以了。例如,若选择了ShortCrewCut,其属性一定返回2。不信,可以试一试!
  
  但这里采用另外一种方法,它是用If-Then语句判断Coat:
  
  在Command按钮已有的代码后面添加下列代码:
  
  ->  IfMyDog.Coat=BigAndShaggyThen
  
   MsgBox"Youhaveabig,bouncy,bushypup!"
  
  ElseIfMyDog.Coat=PoodleStyleAfroThen
  
   MsgBox"Yourpoochispretty,petitandpooch-like!"
  
  ElseIfMyDog.Coat=ShortCrewCutThen
  
   MsgBox"Yourdogisfullofoomph,oomphandmoreoomph!"
  
  ElseIfMyDog.Coat=UnknownThen
  
   MsgBox"Ihavenoideaaboutyourdog.Idon'tthink"&_
  
     "youdoeither!"
  
  EndIf->

  这里的代码只是简单判断Coat属性值,并显示相应的消息对话框。当然,这里也可以使用"SelectCase"语句。
  
  最后,我们添加最后一条语句来释放计算机内存:
  
  在Command按钮已有的代码后面添加下列代码:
  
  ->SetMyDog=Nothing->

  按F5运行程序,并单击Command按钮测试一下。
  
  结果怎样?->

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-14615-1.html
网站维护教程更新时间:2012-04-03 01:10:42  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer