簡單例子概述VB.NET新窗體
VB.NET經(jīng)過長時間的發(fā)展,很多用戶都很了解VB.NET新窗體了,這里我發(fā)表一下個人理解,和大家討論討論。對于一個Visual Basic程序員來說,創(chuàng)建的每一個應(yīng)用程序都是胖客戶端的。Web開發(fā)從來不是VB的目的,VB專注于開發(fā)具有Windows用戶界面的單機(jī)或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語言中也都可以實(shí)現(xiàn),這是和原先有著巨大改變的。在以下幾個部分中,在詳細(xì)討論VB.NET新窗體技術(shù)如何工作。
嶄新的Windows窗體模型
在.NET中的窗體改變了在VB6中的窗體模型,窗體不再是一個專門的文件。編輯窗體或窗體上的控件的屬性會產(chǎn)生與你在代碼里設(shè)置屬性一樣的真正的 VB.NET代碼,下面我們通過一個例子來剖析一下VB.NET新窗體設(shè)計器的特點(diǎn),并看一下通過可視化的編輯所產(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)生的代碼的實(shí)質(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"
 
【編輯推薦】















 
 
 
 
 
 
 