VB中,叹号“!”和“.”的区别

学生信息管理系统中,有这样一条代码

 txtsql = "select * from student_Info where Class_No = '" & comboClassno.Text & "'" Set mrc = Executesql(txtsql,MsgText) While (mrc.EOF = False) comboSID.AddItem mrc!student_ID mrc.MoveNext Wend 

在这里边,“!”是什么意思?它和“.”又有什么区别呢?

在Visual Basic中,惊叹号“!”与圆点“.”都用于给对象命名,但两者语法上却存在很大的区别,这点在

编程时尤其需要注意。


圆点操作符“.”用来表示对象的属性方法,在引用时,需要用到对象的Name、圆点和需要的属性方法

.的使用方法有两种形式:
1、控件.属性(后者是前者的属性

 txtClassno.Enabled = True comboGrade.Enabled = True txtDirector.Enabled = True txtClassroom.Enabled = True


2、控件.控件(前者是后者的容器)

 If mrc.RecordCount = 0 then frmModifyResult.cmdPreRecord.Enabled = False frmModifyClass.cmdPreRecord.Enabled = False End If 

!仅有一种形式:

控件!控件 (前者是后者的容器)感叹号“!”(如上代码)常用于当一个控件作为一个特性访问的情况下

虽然两者的语法应用结构有较大差异,但两条语句的性能是相同的,值得注意的是如果你在感叹号“!”的位

置使用“.”可以获得对窗体上控件特性的直接访问权,为了进一步增加感性认识。

你不妨运行下面的例子来试试。
1.建立一个新项目,并在Form1窗体中增加一个命令控件。
2.双击Form1窗体,编辑Form-Load事件并输入:
Form1!Command1.Caption=”Text”
Form1.Command1.Caption=”It Works”
3.运行试项目,这时你就会在Command1命令框中看到字符串It Works。

为了在程序中清楚地界定引用的控件名和该控件的属性方法增加程序的可读性,最好使用感叹号“!”。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...