网络编程
位置:首页>> 网络编程>> Asp编程>> asp里Sub与Function有什么区别(2)

asp里Sub与Function有什么区别(2)

 来源:asp之家 发布时间:2007-08-17 10:39:00 

标签:Sub,Function

    
    
 2. Sub   过程  
   
   
  子过程是在响应事件时执行的代码块。将模块中的代码分成子过程后,在应用程序中查找和修改代码变得更容易了。  
   
  子过程的语法是:   
    

  [Private|Public][Static]Sub   procedurename   (arguments)   
  statements   
    
  End   Sub

   
    
  每次调用过程都会执行   Sub   和   End   Sub   之间的   statements。可以将子过程放入标准模块、类模块和窗体模块中。按照缺省规定,所有模块中的子过程为   Public(公用的),这意味着在应用程序中可随处调用它们。  
   
  过程的   arguments   类似于变量声明,它声明了从调用过程传递进来的值。  
   
  在   Visual   Basic   中应区分通用过程和事件过程这两类子过程。  
   
  通用过程  
  通用过程告诉应用程序如何完成一项指定的任务。一旦确定了通用过程,就必须专由应用程序来调用。反之,直到为响应用户引发的事件或系统引发的事件而调用事件过程时,事件过程通常总是处于空闲状态。  
   
  为什么要建立通用过程呢?理由之一就是,几个不同的事件过程也许要执行同样的动作。将公共语句放入一分离开的过程(通用过程)并由事件过程来调用它,诚为编程上策。这样一来就不必重复代码,也容易维护应用程序。例如,VCR   示例应用程序使用了一个通用过程,几个不同滚动按钮的   Click   事件都调用这个通用过程。Click   事件中的代码调用按钮管理器的子过程,子过程运行自身的代码,然后将控制返回到   Click   事件过程。   
    
  事件过程  
  当   Visual   Basic   中的对象对一个事件的发生作出认定时,便自动用相应于事件的名字调用该事件的过程。因为名字在对象和代码之间建立了联系,所以说事件过程是附加在窗体和控件上的。    
   
  一个控件的事件过程将控件的(在   Name   属性中规定的)实际名字、下划线   (_)   和事件名组合起来。例如,如果希望在单击了一个名为   cmdPlay   的命令按钮之后,这个按钮会调用事件过程,则要使用   cmdPlay_Click   过程。  
   
   
  一个窗体事件过程将词汇   "Form"、下划线和事件名组合起来。如果希望在单击窗体之后,窗体会调用事件过程,则要使用   Form_Click   过程。(和控件一样,窗体也有唯一的名字,但不能在事件过程的名字中使用这些名字。)如果正在使用   MDI   窗体,则事件过程将词汇   "   MDIForm   "   、下划线和事件名组合起来,如   MDIForm_Load。    
  所有的事件过程使用相同的语法。  
   
  控件事件的语法   窗体事件的语法     

  Private   Sub   controlname_eventname   (arguments   )   
  statements     
  End   Sub   
    Private   Sub   Form_eventname   (arguments)   
  statements   
  End   Sub     

    
    
  虽然可以自己编写事件过程,但使用   Visual   Basic   提供的代码过程会更方便,这个过程自动将正确的过程名包括进来。从“对象框”中选择一个对象,从“过程框”中选择一个过程,就可在“代码编辑器”   窗口选择一个模板。  
   
  在开始为控件编写事件过程之前先设置控件的   Name   属性,这不失为一个好主意。如果对控件附加一个过程之后又更改控件的名字,那么也必须更改过程的名字,以符合控件的新名字。否则,Visual   Basic   无法使控件和过程相符。过程名与控件名不符时,过程就成为通用过程。   
   


0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com