簡單例子概述VB.NET新窗體
VB.NET經(jīng)過長時間的發(fā)展,很多用戶都很了解VB.NET新窗體了,這里我發(fā)表一下個人理解,和大家討論討論。對于一個Visual Basic程序員來說,創(chuàng)建的每一個應(yīng)用程序都是胖客戶端的。Web開發(fā)從來不是VB的目的,VB專注于開發(fā)具有Windows用戶界面的單機或C/S結(jié)構(gòu)應(yīng)用程序,使得VB語言和其窗體引擎得到緊密的結(jié) 合。在VB6中沒有必要區(qū)分語言和創(chuàng)建界面的工具,但是在.NET中卻是非常有必要的。
在VB.NET中,創(chuàng)建"標(biāo)準(zhǔn)"windows應(yīng)用程序的技術(shù)是.NET框架的一部分,在任何其它.NET語言中也都可以實現(xiàn),這是和原先有著巨大改變的。在以下幾個部分中,在詳細討論VB.NET新窗體技術(shù)如何工作。
嶄新的Windows窗體模型
在.NET中的窗體改變了在VB6中的窗體模型,窗體不再是一個專門的文件。編輯窗體或窗體上的控件的屬性會產(chǎn)生與你在代碼里設(shè)置屬性一樣的真正的 VB.NET代碼,下面我們通過一個例子來剖析一下VB.NET新窗體設(shè)計器的特點,并看一下通過可視化的編輯所產(chǎn)生的代碼。
在這個區(qū)域里,你會看到幾個關(guān)鍵的元素:
◆一個窗體的構(gòu)造器(constructor)(a Sub New())
◆一個釋放(Dispose)程序
VB.NET新窗體中所有控件的聲明
一個名為InitializeComponent的子程序構(gòu)造器和釋放程序與VB6中的Class_Initialize和Class_Terminate事件基本等效。設(shè)計器所產(chǎn)生的代碼的實質(zhì)是其他兩部分-控件聲明的列表和InitializeComponent程序。看一下創(chuàng)建這個簡單的例子所產(chǎn)生的代碼。如下:
- '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行,你可以看到是用來設(shè)置按鈕的大小等屬性。假若你增加一些你自己的代碼,即使是一些簡單的代碼,將會產(chǎn)生意想不到的結(jié)果。在這兒,我們只增加一行簡單的代碼如下:
- '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"
【編輯推薦】