一Try………Catch………finally………end try 捕获错误
把一个可能出错的语句放在try后面如果出错执行catch语句catch可以有多个第一个catch不能捕获的错误将被下一个catch语句所捕获在所有的处理结束后执行finally语句
在一个try………end try过程中可以使用catch与finally两个中的一个或者两个一起用
二ProtectedprivatePublic封装控制
这三个关键字一般放在语句最前面而会置于overloads与Overrides的后面
public是工程级别外部访问
protected是本族级别以下内部访问
private是不提供非本地访问
三ByVal sender As Object ByVal e As SystemEventArgs
这是最赏用事件传递参数被封装于两个对象内如果你要传递相应的参数要在这两个对象里面找如当前鼠标位置为eXeY在VBNet中有些事件是要自已动手写的如窗体鼠标过程一般加上这个参数在后面的括号内就解决了
四重载语法Overloads
如class class
public strtem as string
overloads public sub subx()重载subx(A状态)
strtem=
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=
end sub
结果就是strtem=
如果你这样调用subx(这是一个不同的结果)则VB自动调用重载subx(B状态)
overloads public sub subx(x as string) 重载subx(B状态)
strtem=x
end sub
结果就是 strtem=这是一个不同的结果
你可以在函数中调用包括在API中(当然VBNet不再使用winAPI)
甚至一些至关紧要的过程也不例外如new过程(此方法王国荣文章中有介绍)
如class class
Overloads Public Sub New()
end sub
Overloads Public Sub New(s as string)
end sub
end class
同样有两种调用的方法如dim as as class=new class 调用前面一个无参数的new过程而dim asb as class=new class(string)调用第二个new 过程切记如果一个过程或一个函数只有一种状态不能这样运用如果您试图使用overloads关键字则VBNet会出现错误的提示要求你移去overloads
五Overrides改写
如常见的dispose过程
Overrides Public Sub Dispose()
MyBaseDispose
componentsDispose
End Sub
Overrides表示完全的改写父类提供的过程与函数
不过要记住使用改写的前提是在父类的同一过程或函数的前面也使用了overrides关键字
六mybasenew 与mybasedispose
ublic Sub New()
MyBaseNew
Form = Me
InitializeComponent
End Sub
Overrides Public Sub Dispose()
MyBaseDispose
componentsDispose
End Sub
这两个过程是任何一个新建工程都会有的mybasenew是调用当前类的父类的new过程同样你也可以加上参数配合父类的重载New过程如
Overloads Public Sub New ()
MyBaseNew()
End Sub
Overloads Public Sub New (string)
MyBaseNew(string)
End Sub
七Structure构造
自定义类型如
Structure Type
Dim x as y
Dim a as b
end structure
这个取代VB6中的使用type………end type方式自定义类型的方法
八return返回值
function functionname()
return X
end funtion
他的作用与下面一样
function functionname()
functionname = X
end funtion