日期:2010-06-14  浏览次数:20428 次

一:Try………Catch………finally………end try 捕获错误

  把一个可能出错的语句放在try后面,如果出错,执行catch语句,catch可以有多个,第一个catch不能捕获的错误,将被下一个catch语句所捕获。在所有的处理结束后,执行finally语句。

  在一个try………end try 过程中可以使用catch与finally两个中的一个,或者两个一起用
  

二:Protected, private, Public 封装控制

  这三个关键字一般放在语句最前面,而会置于overloads与Overrides的后面

  public是工程级别外部访问

  protected是本族级别以下内部访问

  private是不提供非本地访问

  
三:ByVal sender As Object, ByVal e As System.EventArgs  

  这是最赏用事件传递参数。被封装于两个对象内,如果你要传递相应的参数,要在这两个对象里面找,如当前鼠标位置为e.X e.Y。在VB.Net中有些事件是要自已动手写的,如窗体鼠标过程,一般加上这个参数在后面的括号内就解决了。

  
四:重载语法Overloads

如:class class1

        public strtem as string

        overloads public sub subx()重载subx(A状态) 

         strtem=”3”

        end sub

        overloads public sub subx(x as string) 重载subx(B状态) 

         strtem=x

        end sub

    end class

  

    如果你如果调用subx()中间没有参数,则VB自动调用重载subx(A状态),

        overloads public sub subx()重载subx(A状态) 

         strtem=”3”

        end sub

    结果就是strtem=”3”

    如果你这样调用,subx(“这是一个不同的结果”),则VB自动调用重载subx(B状态)

        overloads public sub subx(x as string) 重载subx(B状态) 

        strtem=x

        end sub

    结果就是 strtem=“这是一个不同的结果”

    您可以在函数中调用,包括在API中(当然VB.Net不再使用winAPI).

    甚至一些至关紧要的过程也不例外:如new过程(此方法王国荣文章中有介绍)

   如: class class1

    Overloads Public Sub New()

      。。。。。。

      。。。。。。

    end sub

    Overloads Public Sub New(s as string)

      。。。。。。

      。。。。。。

     end sub

  end class

  
   同样有两种调用的方法,如dim as as class1=new class 调用前面一个无参数的new过程,而dim asb as class1=new class(“string”)调用第二个new 过程.切记,如果一个过程或一个函数只有一种状态,不能这样运用。如果您试图使用overloads关键字,则VB.Net会出现错误的提示要求你移去overloads

五:Overrides改写

  如常见的dispose过程:

  Overrides Public Sub Dispose()

        MyBase.Dispose

        components.Dispose

     End Sub

  Overrides表示完全的改写父类提供的过程与函数

  不过要记住使用改写的前提是在父类的同一过程或函数的前面也使用了overrides关键字

  

六:mybase.new 与mybase.dispose

  ublic Sub New()

        MyBase.New

        Form1 = Me

        InitializeComponent

  End Sub

  Overrides Public Sub Dispose()

       MyBase.Dispose

       components.Dispose

  End Sub

  

  这两个过程是任何一个新建工程都会有的,mybase.new是调用当前类的父类的new过程,同样你也可以加上参数配合父类的重载New过程。如:

  Overloads Public Sub New ()

  MyBase.New()