编程方面的变化
有一点是毫无疑问的,VB.NET在编程方面也有巨大的变化。
有许多读者对VB.NET在编程方面的变化不理解,但一旦他们开始理解为什么会发生这样的变化,并能够正确地使用这些变化时,就会感受到这些变化的重大意义。
下面我们就通过对VB.NET的代码窗口进行研究,来领会VB.NET在编程方面的变化。
·创建一个新的Windows Application类型的应用程序。
·在Form1上添加一个新的Button控制。
·右击Form1。
·选择View Code菜单项。
此时屏幕上应该显示如图所示的Code Window(代码窗口):
图:Big Changes10
你一定会感到惊奇,代码窗口中怎么会有这么多代码呢?然而更令人惊奇的是其答案,这些代码都是你添加上去的。这些代码都是你在创建新的Windows Form时添加的,那么这些代码的作用是什么呢?这些代码看起来有点奇怪,但其核心的作用就是定义创建的窗体。
还记得我曾经说过VB.NET中的所有文件都有一个.vb扩展名吗?VB.NET之所以知道它是窗体,正是由于其代码的原因,这些代码定义了窗体的从窗体名到其坐标,再到其中所包含的控制等方方面面。
提示:如果仔细浏览该窗体后的代码,就会发现,Form1实际上是个类。从VB4开始,我们就能够将窗体当作类来处理了,但实际上,它们从来都不是真正的类。但在VB.NET中,窗体成了真正的类,拥有Constructors和Dispose方法等VB.NET中类的所有特性。
这就是其他多余的代码的作用了。好了,我们现在先不理这些代码,首先来看看如何添加自己的代码。
提示:我们可以通过在代码的左侧使用 或-号扩展或消去自己的代码,还可以使用#Region命令定义自己的“不可见区域”。 名字空间━━最大的变化
要添加自己的代码,需要首先回到Design视图中。
·依次点击View->Designer。
我们再次回到了代码窗口,你可以发现,在VB.NET中编写Button的代码象在VB6中一样地简单,如果它有Button控制的话。呵呵,VB6中是没有Button控制的。
·双击Button1。
光标应该在代码窗口中的
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
和
End Sub
之间闪烁。
Button1按钮被点击时,在上面有二行内容之间的任何代码都会被执行。
提示:为了能够对Button控制或窗体的其他事件响应,应该使用代码窗口正上方的组合框选择类和方法的名字。当然也可以自己编写一个单独的子程序响应一个事件。
下面我们为Button1添加自己的代码:
·在Button1的Click事件中添加下面的代码:
MessageBox.Show("Hey... hehe... you clicked me and it tickles!")
·按F5键,对代码进行测试。
提示:象我们以前曾提到的那样,MessageBox.Show是VB.NET中用来显示信息框的新方法,它取代以以前的MsgBox命令。
你可能已经听说过VB.NET中的“名字空间”这个术语了。“名字空间”是组织函数的一种很有用的途径。它从本质上说就是嵌入在整个.NET框架中的一组类,每种.NET编程语言都可以使用它。例如,VisualBasic名字空间中就包含有我们使用的数十个函数。
为了搞清楚我上面所说的意思,可以转到代码窗口,输入Microsoft后再输入一个.号,就会出现二种选择:Win32和VisualBasic。如果输入VisualBasic后再按一个.号,就会显示出许多编辑器所知道的功能来。
因此,如果想使用象我们在VB中使用的StrReverse函数那样的功能,则可以通过下面的代码实现:
MessageBox.Show(Microsoft.VisualBasic.StrReverse("Karl Moore"))
呵,不要惊叫,它就是比我们以前使用的语句还要长,我也没有什么办法。下面我们来解释一下这种结构所具有的优点,首先,它具有很好的组织性,这样可以避免名字冲突,为使用所有的编程语言打下了良好的基础。缺省情况下,Microsoft.VisualBasic名字空间中的所有命令都缺省导入的,这意味着我们无需再在命令前添加Microsoft.VisualBasic前缀。
提示之一:名字空间是通过在窗体或组件中指定“Imports 什么.什么”或指定工程属性中的Imports属性而指定的。
提示之二:不要对Imports感到迷惑。它只是使你无需输入冗长前缀的一种方法,事实上,它与我们早已熟悉的With语句非常相似。
一定会有读者提出来,我们不使用Microsoft.VisualBasic名字空间不就行了,这初听起来确实是个好主意,因为没有Microsoft.VisualBasic名字空间,我们照样可以实现所需要的功能。但你不要忘记,名字空间不只有Microsoft.VisualBasic这一个,还有System等许多名字空间,其中包含的功能非常多。也许你会需要用到一个没有缺省导入的名字空间的功能,这时就需要导入它或者使用一个名字空间的全路径名。
我们什么时候需要这样作呢?也许你在编写图形软件,可能会用对System.Drawing.Graphics名字空间有兴趣;如果正在处理数据库,则可能会用到System.Data.ADO名字空间;如果你还希望使用以前版本的Visual Basic代码,那就研究研究Microsoft.VisualBasic.Compatibility.VB6这个名字空间吧。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




