VB.NET经过长时间的发展,很多用户都很了解VB.NET新窗体了,这里我发表一下个人理解,和大家讨论讨论。对于一个Visual Basic程序员来说,创建的每一个应用程序都是胖客户端的。Web开发从来不是VB的目的,VB专注于开发具有Windows用户界面的单机或C/S结构应用程序,使得VB语言和其窗体引擎得到紧密的结 合。在VB6中没有必要区分语言和创建界面的工具,但是在.NET中却是非常有必要的。
在VB.NET中,创建"标准"windows应用程序的技术是.NET框架的一部分,在任何其它.NET语言中也都可以实现,这是和原先有着巨大改变的。在以下几个部分中,在详细讨论VB.NET新窗体技术如何工作。
崭新的Windows窗体模型
在.NET中的窗体改变了在VB6中的窗体模型,窗体不再是一个专门的文件。编辑窗体或窗体上的控件的属性会产生与你在代码里设置属性一样的真正的 VB.NET代码,下面我们通过一个例子来剖析一下VB.NET新窗体设计器的特点,并看一下通过可视化的编辑所产生的代码。
在这个区域里,你会看到几个关键的元素:
◆一个窗体的构造器(constructor)(a Sub New())
◆一个释放(Dispose)程序
VB.NET新窗体中所有控件的声明
一个名为InitializeComponent的子程序构造器和释放程序与VB6中的Class_Initialize和Class_Terminate事件基本等效。设计器所产生的代码的实质是其他两部分-控件声明的列表和InitializeComponent程序。看一下创建这个简单的例子所产生的代码。如下:
- 'NOTE: The following procedure
- is required by the Windows Form Designer
- 'It can be modified using
- the Windows Form Designer.
- 'Do not modify it using the code editor.
- Friend WithEvents Button1
- As System.Windows.Forms.Button
- <System.Diagnostics.DebuggerStepThrough()> _
- Private Sub InitializeComponent()
- Me.Button1 = New System.Windows.Forms.Button
- Me.SuspendLayout()
- 'Button1
- Me.Button1.Location =
- New System.Drawing.Point(96, 88)
- Me.Button1.Name = "Button1"
- Me.Button1.TabIndex = 0
- Me.Button1.Text = "Button1"
- 'Form1
- Me.AutoScaleBaseSize =
- New System.Drawing.Size(5, 13)
- Me.ClientSize =
- New System.Drawing.Size(292, 273)
- Me.Controls.Add(Me.Button1)
- Me.Name = "Form1"
- Me.Text = "Form1"
- Me.ResumeLayout(False)
- End Sub
从上面的代码中的12到15行,你可以看到是用来设置按钮的大小等属性。假若你增加一些你自己的代码,即使是一些简单的代码,将会产生意想不到的结果。在这儿,我们只增加一行简单的代码如下:
- 'Button1
- Me.Button1.Location =
- New System.Drawing.Point(96, 88)
- Me.Button1.Name = "Button1"
- Debug.WriteLine("Testing!")
- Me.Button1.TabIndex = 0
- Me.Button1.Text = "Button1"
【编辑推荐】