Download presentation
Presentation is loading. Please wait.
1
第10章 視窗應用程式的工具列與功能表
2
第10章 視窗應用程式的工具列與功能表 10-1 功能表控制項 10-2 快顯功能表控制項 10-3 工具列控制項 10-4 狀態列控制項
10-5 字型與色彩對話方塊 10-6 集合物件與清單控制項
3
10-1 功能表控制項-說明 Visual Basic功能表控制項(MenuStrip)可以在表單上方的標題列下建立指定功能的功能表列,每一個功能表列的選項本身或選單中的選項都是ToolStripMenuItem控制項,如下圖所示:
4
10-1 功能表控制項-注意事項 請注意!與Windows XP不同,在Vista/Win7執行時,我們並看不到選項名稱英文字母的底線。
在Vista/Win7執行時按下Alt鍵才會看到底線。
5
10-1 功能表控制項- 建立MenuStrip控制項
在VBE的「工具箱」視窗展開【功能表與工具列】區段,可以看到建立功能表所需的MenuStrip控制項,其選項是ToolStripMenuItem控制項,如下圖所示:
6
10-1 功能表控制項- 新增ToolStripMenuItem控制項
7
10-1 功能表控制項-常用屬性 ToolStripMenuItem控制項的相關屬性,如下表所示:
8
10-1 功能表控制項- 建立選項的事件處理程序 在功能表選項如同表單上的按鈕控制項,按一下就可以執行事件處理程序的程式碼,其預設事件是Click。 Private Sub mnuItemUCase_Click(ByVal sender _ As System.Object, ByVal e As System.EventArgs) _ Handles mnuItemUCase.Click lblOutput.Text = UCase(txtInput.Text) ' 大寫 End Sub
9
10-1 功能表控制項- Visual Basic專案(1)
Visual Basic專案:Ch10-1 在Windows應用程式建立功能表選項的事件處理程序,可以將文字方塊輸入的文字內容執行指定的字串函數,執行第2個選單的選項來更改標籤控制項的背景色彩,功能表的架構如下圖所示:
10
10-1 功能表控制項- Visual Basic專案(2)
功能表擁有2個選單,第1個選單是【字串函數】擁有子選單,前方的勾號表示它是核取選項,在第2個選單可以設定背景色彩,如下圖所示:
11
10-2 快顯功能表控制項-說明 對於控制項的專屬功能,我們可以使用快顯功能表,即在其上按下滑鼠右鍵所顯示的功能表,稱為快顯功能表,或上下文功能表(Context Menus)。Visual Basic是新增ContextMenuStrip控制項,其選項也是ToolStripMenuItem控制項。
12
10-2 快顯功能表控制項- 建立ContextMenuStrip控制項
在「工具箱」視窗的【功能表與工具列】區段,按二下【ContextMenuStrip】控制項,可以在元件匣新增名為ContentMenuStrip1的快顯功能表控制項,如下圖所示:
13
10-2 快顯功能表控制項- 指定控制項的快顯功能表
快顯功能表通常都是附屬在表單或指定的控制項,我們可以在控制項的【ContentMenuStrip】屬性指定使用的ContentMenuStrip控制項。
14
10-2 快顯功能表控制項- Visual Basic專案
Visual Basic專案:Ch10-2 在Windows應用程式的文字方塊新增快顯功能表,其選項可以更改文字方塊控制項的背景和前景色彩,其中紅色選項並沒有作用,如下圖所示:
15
10-3 工具列控制項-說明 對於常用功能可以抽出來建立成工具列按鈕,按一下按鈕即可執行所需的功能,在Visual Basic的工具列就是ToolStrip控制項,每一個按鈕是一個ToolStripButton控制項,如下圖所示:
16
10-3 工具列控制項- 新增ToolStrip控制項
在「工具箱」視窗展開【功能表與工具列】區段,按二下【ToolStrip】控制項,可以在元件匣建立名為【ToolStrip1】的工具列控制項。
17
10-3 工具列控制項- ToolStrip控制項屬性
18
10-3 工具列控制項-項目控制項 Visual Basic是使用ToolStrip控制項來建立工具列,它是一種容器控制項,可以新增各種項目控制項。常用的項目控制項,如下表所示:
19
10-3 工具列控制項- 新增項目控制項(1) 請按一下工具列控制項,在工具列開啟下拉式清單,可以新增項目控制項,如下圖所示:
20
10-3 工具列控制項- 新增項目控制項(2) ToolStrip控制項可以使用另一種方式來新增項目控制項,請在元件匣選控制項後,在【Items】屬性按一下欄後按鈕,可以看到「項目集合編輯器」對話方塊。
21
10-3 工具列控制項- ToolStripButton控制項屬性
22
10-3 工具列控制項- Visual Basic專案
Visual Basic專案:Ch10-3 在Windows應用程式新增工具列,按一下工具列的圖示按鈕,可以更改標籤控制項的背景色彩。如果在工具列的文字欄位輸入文字內容後,按之後的工具列按鈕,可以在下方標籤控制項顯示輸入內容,如下圖所示:
23
10-4 狀態列控制項-說明 在Windows應用程式表單的最下方可以新增狀態列控制項,其主要目的是顯示一些程式執行的狀態資訊, Visual Basic是StatusStrip控制項,只需在「工具箱」視窗按二下StatusStrip控制項,就可以在表單新增狀態列控制項,如下圖所示:
24
10-4 狀態列控制項- 新增StatusStrip控制項
在「工具箱」視窗展開【功能表與工具列】區段,按二下【StatusStrip】控制項,可以在表單下方元件匣建立狀態列控制項StatusStrip1,如下圖所示:
25
10-4 狀態列控制項- StatusStrip控制項屬性
26
10-4 狀態列控制項- 新增ToolStripStatusLabel控制項
請開啟狀態列的下拉式清單,在StatusStrip控制項新增ToolStripStatusLabel控制項,如右圖所示:
27
10-4 狀態列控制項- ToolStripStatusLabel控制項屬性
28
10-4 狀態列控制項- Visual Basic專案
Visual Basic專案:Ch10-4 在Windows應用程式的功能表提供選項,可以切換顯示狀態列,在文字方塊輸入文字內容,執行功能表的字串函數,可以在狀態列顯示執行結果,如下圖所示:
29
10-5 字型與色彩對話方塊-說明 Visual Basic為了方便Windows應用程式開發,除了第4-6節內建函數的基本對話方塊和訊息視窗外,還提供預設功能的多種對話方塊,包含:檔案、字型和色彩等對話方塊,我們只需在表單新增這些控制項,就可以取得檔案、設定字型和色彩。
30
10-5 字型與色彩對話方塊-FontDialog控制項
FontDialog控制項是Windows作業系統標準的「字型」對話方塊,可以讓使用者選擇已經安裝的字型和設定字型樣式。
31
10-5 字型與色彩對話方塊-FontDialog控制項屬性
32
10-5 字型與色彩對話方塊-取得對話方塊選取的字型資訊
在Visual Basic應用程式需要使用程式碼開啟FontDialog控制項的字型對話方塊,如下所示: If dlgSetFont.ShowDialog() = _ DialogResult.OK Then txtInput.Font = dlgSetFont.Font End If ShowDialog()方法可以顯示字型對話方塊,傳回值是DialogResult列舉常數,DialogResult.OK表示按下【確定】鈕,DialogResult.Cancel為【取消】鈕。
33
10-5 字型與色彩對話方塊-ColorDialog控制項
ColorDialog控制項就是Windows應用程式預設用來選取色彩的對話方塊,使用者可以選取色彩或自訂色彩。
34
10-5 字型與色彩對話方塊-ColorDialog控制項屬性
35
10-5 字型與色彩對話方塊-取得對話方塊選取的色彩資訊
如同FontDialog控制項,色彩對話方塊也需要執行ShowDialog()方法來開啟對話方塊,在選好色彩後,使用Color屬性取得選取色彩。
36
10-5 字型與色彩對話方塊-建立 在「工具箱」視窗的【對話方塊】區段,按二下【FontDialog】控制項建立字型對話方塊,【ColorDialog】控制項建立色彩對話方塊,如下圖所示:
37
10-5 字型與色彩對話方塊- Visual Basic專案
Visual Basic專案:Ch10-5 在Windows應用程式建立記事本應用程式的原型,筆者準備逐步在後面幾個章節來完成此視窗應用程式,首先新增設定字型和色彩的對話方塊,可以更改文字方塊顯示的字型與色彩,如下圖所示:
38
10-6 集合物件與清單控制項 10-6-1 集合物件與清單控制項的基礎 10-6-2 清單與核取清單方塊控制項
下拉式清單方塊控制項
39
10-6-1 集合物件與清單控制項的基礎-集合物件簡介(說明)
「集合物件」(Collections)如同其名是一組物件的集合,例如:ToolStrip控制項的項目控制項就是一個集合物件,它是多種項目控制項物件的集合,可以使用Items屬性來存取此集合物件。 如同陣列元素,集合物件也可以使用For Each迴圈取出集合物件的每一個物件。
40
10-6-1集合物件與清單控制項的基礎-集合物件簡介(事件處理程序)
Private Sub Button1_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) _ Handles Button1.Click Dim item As ToolStripItem Dim no As Integer = 1 Dim out As String = "" For Each item In tlsColor.Items out &= no & ":" & _ item.ToolTipText & _ vbNewLine no += 1 Next MsgBox(out) End Sub
41
10-6-1集合物件與清單控制項的基礎-清單控制項(1)
Visual Basic清單控制項也是一種選擇用途控制項,共有三種控制項: 清單方塊(ListBox) 核取清單方塊(CheckedListBox) 下拉式清單方塊(ComboBox)
42
10-6-1集合物件與清單控制項的基礎-清單控制項(2)
請開啟「程式範例\Ch10\Ch10-6-1」資料夾的Visual Basic專案,在表單設計視窗已經新增ListBox1清單控制項,我們可以在「屬性」視窗找到【Items】屬性來新增項目,如下圖所示:
43
10-6-1集合物件與清單控制項的基礎-編輯項目清單的方法
清單控制項的項目清單是名為ObjectCollection的集合物件,Visual Basic程式碼可以使用Items屬性取得此集合物件,即可使用相關方法來新增或刪除項目。其相關方法如下表所示:
44
清單與核取清單方塊控制項-說明 核取清單方塊是一種清單方塊的擴充,其差異只在項目顯示方式的不同,所以筆者準備一併說明這兩種控制項,其說明如下所示: 清單方塊(ListBox):顯示項目清單,使用者可以選取1到多個選項,如下圖所示: 核取清單方塊(CheckedListBox):它是ListBox控制項的擴充,其中每一個項目都是一個核取方塊,如下圖所示:
45
10-6-2 清單與核取清單方塊控制項-建立控制項
在「工具箱」視窗選【ListBox】控制項,就可以在表單上拖拉出清單方塊,選【CheckedListBox】控制項,然後在表單上拖拉出核取清單方塊,如下圖所示:
46
10-6-2 清單與核取清單方塊控制項- ListBox控制項屬性
47
10-6-2 清單與核取清單方塊控制項- ListBox控制項事件
48
10-6-2 清單與核取清單方塊控制項- CheckedListBox控制項屬性
CheckedListBox控制項的常用屬性(與ListBox控制項不重複的屬性),如下表所示:
49
10-6-2 清單與核取清單方塊控制項- CheckedListBox控制項方法
CheckedListBox控制項的ItemCheck事件是當選項勾選時,就會觸發此事件,其常用方法如下表所示:
50
10-6-2 清單與核取清單方塊控制項-取得使用者選取的項目1
在Visual Basic程式碼取得ListBox控制項的選取項目,單選是使用SelectedIndex屬性來取得索引值後,就可以使用Items屬性取得項目名稱,如下所示: index = ltbSource.SelectedIndex str = ltbSource.Items(index) 上述程式碼取得使用者選取項目的索引值後,就可以取得項目名稱字串。
51
10-6-2 清單與核取清單方塊控制項-取得使用者選取的項目2
不過,CheckedListBox控制項勾選的項目可能不只一個,此時需要使用For Each迴圈,從CheckedItems集合物件來取得所有勾選的項目,如下所示: For Each item In clbTarget.CheckedItems ltbSource.Items.Add(item) Next
52
10-6-2 清單與核取清單方塊控制項-Visual Basic專案
Visual Basic專案:Ch10-6-2 在Windows應用程式新增ListBox和CheckedListBox控制項後,就可以在控制項間交換選取項目,如下圖所示:
53
下拉式清單方塊控制項-說明 下拉式清單方塊(ComboBox)是使用下拉方式來顯示項目清單,在清單方塊需要按一下右上方的向下箭頭,才會顯示項目清單。 事實上,ComboBox和ListBox控制項的功能相似,不過,ComboBox控制項擁有多種顯示樣式,而且預設擁有文字方塊,可以直接輸入字串來新增項目,如下圖所示:
54
下拉式清單方塊控制項- 建立控制項 在「工具箱」視窗選【ComboBox】控制項後,可以在表單上拖拉出下拉式清單方塊,如下圖所示:
55
下拉式清單方塊控制項-屬性 ComboBox控制項的常用屬性,如下表所示:
56
下拉式清單方塊控制項-事件 ComboBox控制項的常用事件,如下表所示:
57
10-6-3 下拉式清單方塊控制項- Visual Basic專案
Visual Basic專案:Ch10-6-3 在Windows應用程式新增ComboBox控制項選擇使用者姓名,在選取後,在狀態列控制項顯示選取項目,按【新增】鈕可以新增項目,如下圖所示:
58
End
Similar presentations