在這一章節中,我們將介紹有關表單(Form)的相關知識。開啟Microsoft Visual Studio,按照以下步驟建立一個表單應用程式:檔案 -> 新建專案 -> Visual Basic -> Windows表單應用程式,然後填寫專案名稱為:Form1,以及儲存目錄位置。如下圖所示 -
最後,選擇「確定」,Microsoft Visual Studio將建立您的專案並顯示下面的視窗Form,其名稱為Form1
。如下所示 -
Visual Basic表單是組成使用者介面的所有控制元件的容器。 在執行的Visual Basic應用程式中看到的每個視窗都是一個表單,因此術語表單和視窗描述了同一個實體。當建立Windows表單應用程式時,Visual Studio會為您建立一個預設表單。
每個表格都會有標題列,表格的標題會被顯示出來,並且會有按鈕來關閉,最大化和最小化如下所示的表單:
如果點選左上角的圖示,它會開啟控制選單,其中包含各種控制表單的命令,例如將控制元件從一個地方移動到另一個地方,以最大化或最小化表單或關閉表單。
下表列出了與表單有關的各種重要屬性。這些屬性可以在應用程式執行期間設定或讀取。可以參考Microsoft文件以獲取與Form
控制元件關聯的屬性的完整列表:
編號 | 屬性 | 描述 |
---|---|---|
1 | AcceptButton |
無論當時哪個控制元件有焦點,按下Enter 鍵後自動啟用該按鈕。 通常表單上的確定按鈕被設定為表單的AcceptButton 。 |
2 | CancelButton |
按下Esc 鍵時自動啟用的按鈕。通常,表單上的「取消」按鈕被設定為「取消按鈕」。 |
3 | AutoScale |
此布林屬性確定放置在表單上的控制元件是否自動縮放到當前字型的高度。此屬性的預設值為True 。這是表單的屬性,但會影響表單上的控制元件。 |
4 | AutoScroll |
這個布林值屬性表明,如果捲動條的大小調整為不是所有的控制元件都可見,那麼捲動條是否會自動附加到表單上。 |
5 | AutoScrollMinSize |
這個屬性可以在連線捲動條之前指定表單的最小尺寸。 |
6 | AutoScrollPosition |
AutoScrollPosition 是兩個捲動條從其初始位置移開的畫素數。 |
7 | BackColor |
設定表單背景顏色。 |
8 | BorderStyle |
BorderStyle 屬性確定表單邊框的樣式和表單的外觀,可能的值有: None ,Sizable ,Fixed3D ,FixedDialog ,FixedSingle ,FixedToolWindow 以及SizableToolWindow |
9 | ControlBox |
預設情況下,該屬性為True ,可以將其設定為False 來隱藏圖示並禁用「控制」選單。 |
10 | Enabled |
如果為True ,則允許表單響應滑鼠和鍵盤事件; 如果是False ,則禁用表單。 |
11 | Font |
此屬性指定字型型別,樣式,大小 |
12 | HelpButton |
確定是否應在表單的標題框中顯示一個幫助按鈕。 |
13 | Height |
這是以畫素為單位的表單的高度。 |
14 | MinimizeBox |
預設情況下,此屬性為True ,可以將其設定為False 以隱藏標題列上的最小化按鈕。 |
15 | MaximizeBox |
預設情況下,此屬性為True ,可以將其設定為False 以隱藏標題列上的最大化按鈕。 |
16 | MinimumSize |
這指定了可以最小化的視窗的最小高度和寬度。 |
17 | MaximumSize |
這指定了最大化視窗的最大高度和寬度。 |
18 | Name |
這是表單的實際名稱。 |
19 | StartPosition |
該屬性決定了表單在第一次顯示時的初始位置。它將具有以下值之一:CenterParent ,CenterScreen ,Manual ,WindowsDefaultBounds ,WindowsDefaultLocation |
20 | Text |
該文字將出現在表單的標題列中。 |
21 | Top, Left |
這兩個屬性以畫素為單位設定或返回表單左上角的坐標。 |
22 | TopMost |
該屬性是一個True/False 值,可讓指定表單是否將保留在應用程式中所有其他表單之上。它的預設屬性是False 。 |
23 | Width |
這是畫素中的形式的寬度。 |
以下是Form
類的一些常用方法。您可以參考Microsoft文件以獲取與表單控制元件相關聯的方法的完整列表:
編號 | 方法 | 描述 |
---|---|---|
1 | Activate |
啟用表單並給予焦點。 |
2 | ActivateMdiChild |
啟用表單的MDI 子項。 |
3 | AddOwnedForm |
將擁有的表單新增到此表單。 |
4 | BringToFront |
將控制元件帶到z 順序的前面。 |
5 | CenterToParent |
將表單的位置置於父表單的邊界內。 |
6 | CenterToScreen |
將表單置於當前螢幕上。 |
7 | Close |
關閉表單。 |
8 | Contains |
檢索指示指定的控制元件是否為控制元件的子項的值。 |
9 | Focus |
將輸入焦點設定到控制元件。 |
10 | Hide |
隱藏控制元件。 |
11 | Refresh |
強制控制元件使其用戶端區域無效,並立即重繪本身和任何子控制元件。 |
12 | Scale(SizeF) |
按照指定的比例因子來縮放控制元件和所有子控制元件。 |
13 | ScaleControl |
縮放控制元件的位置,大小,填充和邊距。 |
14 | ScaleCore |
執行表單的縮放。 |
15 | Select |
啟用控制元件 |
16 | SendToBack |
將控制元件傳送到z 順序的後面。 |
17 | SetAutoScrollMargin |
設定自動捲動頁邊距的大小。 |
18 | SetDesktopBounds |
在桌面坐標中設定表單的邊界。 |
19 | SetDesktopLocation |
在桌面坐標中設定表單的位置。 |
20 | SetDisplayRectLocation |
將顯示視窗定位到指定的值。 |
21 | Show |
將控制元件顯示給使用者。 |
22 | ShowDialog |
將表單顯示為模式對話方塊。 |
下表列出了與表單有關的各種重要事件。您可以參考Microsoft文件以獲取與表單控制元件關聯的事件的完整列表:
編號 | 事件 | 描述 |
---|---|---|
1 | Activated |
在程式碼或使用者啟用表單時發生。 |
2 | Click |
在單擊表單時發生。 |
3 | Closed |
在表單關閉之前發生。 |
4 | Closing |
在表單關閉時發生。 |
5 | DoubleClick |
在雙擊表單控制元件時發生。 |
6 | DragDrop |
在拖放操作完成時發生。 |
7 | Enter |
在進入表單時發生。 |
8 | GotFocus |
在表單控制元件獲得焦點時發生。 |
9 | HelpButtonClicked |
在單擊「幫助」按鈕時發生。 |
10 | KeyDown |
當表單具有焦點時按下鍵時發生。 |
11 | KeyPress |
當表單具有焦點時按下鍵時發生。 |
12 | KeyUp |
在表單具有焦點時釋放鍵時發生。 |
13 | Load |
在首次顯示表單之前發生。 |
14 | LostFocus |
當表單失去焦點時發生。 |
15 | MouseDown |
當滑鼠指標位於表單上並按下滑鼠按鈕時發生。 |
16 | MouseEnter |
在滑鼠指標進入表單時發生。 |
17 | MouseHover |
在滑鼠指標停留在表單上時發生。 |
18 | MouseLeave |
在滑鼠指標離開表單時發生。 |
19 | MouseMove |
當滑鼠指標移到表單上時發生。 |
20 | MouseUp |
當滑鼠指標位於表單上並釋放滑鼠按鈕時發生。 |
21 | MouseWheel |
當滑鼠滾輪移動而控制元件具有焦點時發生。 |
22 | Move |
在表單移動時發生。 |
23 | Resize |
在控制元件調整大小時發生。 |
24 | Scroll |
在使用者或程式碼捲動瀏覽客戶區時發生。 |
25 | Shown |
在表單首次顯示時發生。 |
26 | VisibleChanged |
在Visible 屬性值更改時發生。 |
以下是一個範例,它顯示了如何在表單載入事件時建立兩個按鈕,並同時設定不同的屬性。
由於Form1 是在自己的事件處理程式中被參照的,所以它將被寫為Me
,而不是使用它的名字,但是如果在其他控制元件的事件處理程式中存取相同的表單,那麼它將使用其名稱Form1
來存取。雙擊表單並將下面的程式碼放在開啟的視窗中。
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Create two buttons to use as the accept and cancel buttons.
Dim button1 As New Button()
Dim button2 As New Button()
' Set the text of button1 to "OK".
button1.Text = "OK"
' Set the position of the button on the form.
button1.Location = New Point(10, 10)
' Set the text of button2 to "Cancel".
button2.Text = "Cancel"
' Set the position of the button based on the location of button1.
button2.Location =
New Point(button1.Left, button1.Height + button1.Top + 10)
' Set the caption bar text of the form.
Me.Text = "tw511.com"
' Display a help button on the form.
Me.HelpButton = True
' Define the border style of the form to a dialog box.
Me.FormBorderStyle = FormBorderStyle.FixedDialog
' Set the MaximizeBox to false to remove the maximize box.
Me.MaximizeBox = False
' Set the MinimizeBox to false to remove the minimize box.
Me.MinimizeBox = False
' Set the accept button of the form to button1.
Me.AcceptButton = button1
' Set the cancel button of the form to button2.
Me.CancelButton = button2
' Set the start position of the form to the center of the screen.
Me.StartPosition = FormStartPosition.CenterScreen
' Set window width and height
Me.Height = 300
Me.Width = 560
' Add button1 to the form.
Me.Controls.Add(button1)
' Add button2 to the form.
Me.Controls.Add(button2)
End Sub
End Class
當上面的程式碼執行並使用Microsoft Visual Studio工具列上的「開始」按鈕執行時,它將顯示以下視窗: