Download presentation
Presentation is loading. Please wait.
Published byWidya Agusalim Modified 5年之前
1
第4章 視窗應用程式的基本輸出入 4-1 物件基礎程式設計 4-2 表單控制項 4-3 按鈕控制項 4-4 資料輸出的標籤控制項
4-5 資料輸入的文字方塊控制項 4-6 訊息與對話方塊 4-7 格式化資料的輸出
2
4-1 物件基礎程式設計 4-1-1 物件的基本觀念 4-1-2 物件名稱的命名
3
4-1 物件基礎程式設計 Visual Basic 2005是一種物件導向程式語言,其精神是物件,但支援物件的程式語言並不一定是物件導向程式語言,它可能只是物件基礎程式語言(Object-based Languages),只提供資料抽象化和物件觀念。例如:舊版VB6。 換句話說,就算讀者尚未熟悉第16章的物件導向程式設計,我們一樣可以使用物件來建立Windows應用程式,也就是將它視為物件基礎語言來建立Windows應用程式。
4
4-1-1 物件的基本觀念- 物件(Objects)
物件是物件導向程式的基礎,簡單的說,物件是資料(Data)和包含處理此資料程式碼(稱為方法Method)的綜合體。 「類別」(Class)是定義物件內容的模子,透過模子可以建立屬於同一個類別的多個物件,例如:Label控制項是一個類別,當我們在表單上新增多個標籤控制項後,就是使用類別建立名為Label1和Label2.等多個物件。
5
4-1-1 物件的基本觀念- 屬性(Properties)
物件的屬性是物件的性質和狀態,例如:文字方塊控制項提供MaxLength屬性設定輸入字串的長度,表單物件的BackColor可以指定背景色彩,如下所示: Form1.BackColor TextBox1.MaxLength
6
4-1-1 物件的基本觀念- 方法(Methods)
方法是物件的處理函數,也就是執行物件提供的功能,例如:Graphics繪圖物件g提供方法可以繪出字串和畫線,如下所示: g.DrawString() g.DrawLine() 上述程式碼使用Graphics物件的方法。事實上,我們並不需要知道繪出字串和畫線的程式碼是什麼?只需知道物件提供的方法需要如何用,指定參數後,就可以繪出指定的圖形。
7
4-1-1 物件的基本觀念- 事件(Events)1
事件本身是一個物件,它代表使用者按下滑鼠按鍵或鍵盤按鍵等操作後,所觸發的動作進而造成控制項狀態的改變,當這些改變發生時,就會觸發對應的事件物件。我們可以針對事件來作進一步處理。 物件可以建立事件處理程序來處理事件,這種以事件設計程式的方式,稱為「事件驅動程式設計」(Event-driven Programming)。
8
4-1-1 物件的基本觀念- 事件(Events)2
例如:第2章Button控制項觸發的Click事件,其事件處理程序如下所示: Private Sub Button1_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) _ Handles Button1.Click …… End Sub 上述程序擁有2個參數,其說明如下所示: System.Object物件:觸發事件的來源物件,也就是哪一個物件產生此事件。 System.Eventargs物件:事件物件本身,包含事件的相關資訊。
9
4-1-2 物件名稱的命名-說明 當我們使用VBE將控制項物件新增至表單時,預設是以控制項名稱加上編號作為名稱(即Name屬性的值)。
例如:Form1、Label1和Button1等,預設的物件名稱缺乏可讀性,並不能作為程式註解的用途,筆者建議將物件名稱重新命名成有意義的名稱。
10
4-1-2 物件名稱的命名-命名方式 如同第3章變數的匈牙利命名法,我們也可以比照辦理,以名稱的前3個字元作為控制項代碼,如此控制項名稱將更加有意義,如下表所示:
11
4-2 表單控制項 4-2-1 表單的基礎 4-2-2 建立表單控制項 4-2-3 表單的常用屬性
12
4-2-1 表單的基礎-說明 表單(Form)是一種控制項物件,它是Windows應用程式的基本架構,更正確的說,Windows應用程式的視窗和對話方塊,就是一種表單物件。 視窗應用程式的基本輸出入是GUI元件的控制項。首先讓我們看一個Windows視窗應用程式,例如:Windows作業系統的【小算盤】,如右圖所示:
13
4-2-1 表單的基礎-架構 換句話說,Windows應用程式是由一個個視窗和對話方塊所組成,對應到Visual Basic就是一個個表單物件。 我們可以將表單物件視為容器,在每一個表單物件中都擁有許多控制項,像是在一個大盒子中放入其他控制項的小盒子,如下圖所示:
14
4-2-2 建立表單控制項 在VBE新增【Windows應用程式】專案,就可以建立表單控制項,其建立步驟如下所示:
步驟二:調整表單尺寸 步驟三:設定表單屬性 步驟四:編譯執行Windows應用程式
15
4-2-3 表單的常用屬性-外觀
16
4-2-3 表單的常用屬性-配置
17
4-2-3 表單的常用屬性-設計 設計屬性是在表單設計階段的相關屬性,如下表所示:
18
4-2-3 表單的常用屬性-視窗樣式
19
4-3 按鈕控制項 4-3-1 新增按鈕控制項 4-3-2 按鈕控制項的常用屬性
20
4-3-1 新增按鈕控制項 「按鈕」(Button)控制項是表單上十分重要的控制項,它是實際執行功能的使用介面。
在VBE只需建立好表單物件,就可以將表單物件視為一個容器,在其中新增按鈕控制項來更改控制項屬性。 步驟一:開啟Windows應用程式專案 步驟二:新增按鈕控制項 步驟三:設定按鈕控制項的屬性 步驟四:建立按鈕控制項的Click事件處理程序
21
4-3-2 按鈕控制項的常用屬性
22
4-4 資料輸出的標籤控制項 4-4-1 新增標籤控制項 4-4-2 標籤控制項的常用屬性
23
4-4-1 新增標籤控制項 「標籤」(Label)控制項是一種資料輸出控制項,可以在表單顯示說明文字,例如:說明文字或輸出執行結果,我們可以按下按鈕控制項,然後在標籤顯示執行結果。 VBE建立表單物件後,就可以新增所需的標籤控制項,顯示數學運算式的計算結果。 步驟一:開啟Windows應用程式專案 步驟二:新增標籤控制項 步驟三:設定標籤控制項的屬性 步驟四:在標籤控制項輸出計算結果
24
4-4-2 標籤控制項的常用屬性 標籤控制項的屬性有很多與表單物件和按鈕控制項相同。一些常用屬性,如下表所示:
25
4-5 資料輸入的文字方塊控制項 4-5-1 新增文字方塊 4-5-2 文字方塊控制項的常用屬性 4-5-3 選取文字方塊的內容
26
4-5-1 新增文字方塊 「文字方塊」(TextBox)控制項可以讓使用者輸入資料,輸入的資料是字串,程式可以配合型態轉換函數來取得所需型態的資料。 VBE表單物件可以新增文字方塊控制項。建立的Windows應用程式是華氏和攝氏溫度的轉換程式。 步驟一:開啟Windows應用程式專案 步驟二:新增文字方塊控制項 步驟三:設定文字方塊控制項的屬性 步驟四:取得文字方塊的內容
27
4-5-2 文字方塊控制項的常用屬性
28
4-5-3 選取文字方塊的內容 多行文字方塊控制項如果是作為文字處理工具,我們可以選取文章的部分內容,並且將它複製出來。文字方塊控制項關於選取文字內容的屬性,如下表所示: 在文字方塊控制項的相關方法,如下表所示:
29
4-6 訊息與對話方塊 4-6-1 MsgBox訊息視窗 4-6-2 InputBox對話方塊
30
4-6-1 MsgBox訊息視窗-語法 Visual Basic的MsgBox()函數可以顯示訊息視窗,提供使用者錯誤訊息或是非題的選擇。例如:確認操作,函數的語法如下所示: MsgBox(提示訊息, [樣式, 視窗標題]) 上述函數參數的最後2個是選擇參數,可以不用指定。
31
4-6-1 MsgBox訊息視窗- 提示訊息參數 顯示在訊息視窗的資訊字串,MsgBox()函數至少需要提供此參數。
32
4-6-1 MsgBox訊息視窗- 樣式參數
33
4-6-1 MsgBox訊息視窗- 視窗標題參數 顯示在訊息視窗上方標題列的字串,如果沒有指定,預設是專案名稱。
34
4-6-1 MsgBox訊息視窗- 範例 訊息視窗MsgBox函數的使用範例,如下所示:
ret = MsgBox(txtPrompt.Text, msgStyle, _ txtTitle.Text) 第1個參數是文字方塊內容,第2個參數msgStyle顯示樣式的整數值,使用的是列舉常數,如果不只一個(按鈕、圖示、預設按鈕只能各選一),請使用加法來計算樣式值,如下所示: msgStyle = MsgBoxStyle.OKCancel + _ MsgBoxStyle.Question + _ MsgBoxStyle.DefaultButton2
35
4-6-1 MsgBox訊息視窗- 傳回值 MsgBox()函數如果有傳回值,傳回值是按下哪一個按鈕,屬於MsgBoxResult列舉常數,如下表所示:
36
4-6-2 InputBox對話方塊-語法 InputBox對話方塊不同於MsgBox訊息視窗是一種「是非」選擇,它可以彈出對話方塊,讓使用者輸入資料,在功能上如同單行文字方塊控制項。 InputBox()函數的語法如下所示: InputBox(提示訊息, [標題文字, 預設值, 位置x, 位置y]) 上述函數的最後4個參數是選擇參數,可以不用指定。
37
4-6-2 InputBox對話方塊-參數 提示訊息:顯示在對話方塊的字串,InputBox()函數至少需要提供此參數。
標題文字:顯示在標題列的文字內容。 預設值:輸入資料的預設值。 位置x、位置y:對話方塊在螢幕上顯示的位置,沒有指定,預設值是桌面正中央。
38
4-6-2 InputBox對話方塊-範例 InputBox()函數的使用範例,如下所示:
strValue = InputBox("請輸入金額?", _ "輸入金額") 上述程式碼的InputBox()函數只有前2個參數,傳回值是使用者輸入的資料,按下「確定」鈕傳回輸入字串,「取消」鈕傳回空字串。
39
4-7 格式化資料的輸出 4-7-1 字型與色彩 4-7-2 Format()格式化函數
40
4-7-1 字型與色彩-Font物件 字型是Font類別的物件,需要使用New運算子建立Font物件,如下所示:
lblShow.Font = New Font("細明體", _ 16, FontStyle.Bold) 上述程式碼建立Font物件指定為控制項的Font屬性,使用的是Font類別的建構子,其參數依序是字型名稱、字型尺寸和樣式,樣式是使用FontStyle列舉常數。
41
4-7-1 字型與色彩-Color結構 在程式碼指定控制項色彩是使用Color結構的屬性,如下所示:
lblShow.BackColor = Color.Gray 上述程式碼指定lblShow控制項的背景色彩BackColor屬性為灰色。
42
4-7-1 字型與色彩-常用的色彩結構 常用的色彩結構屬性,如下表所示:
43
4-7-1 字型與色彩-FromArgb()方法
如果不是常用色彩,我們可以使用Color結構的FromArgb()方法,以RGB三原色的比例值來指定色彩,如下所示: lblShow.ForeColor=Color.FromArgb(255,0,0) 上述程式碼可以指定前景色彩為紅色,3個參數依序是紅、綠和藍三原色的比例值,值的範圍是0~255。
44
4-7-2 Format()格式化函數-說明 在控制項輸出資料時,除了指定字型與色彩外,我們還可以指定輸出格式。例如:日期資料輸出成「月/日/年」或「年/月/日」格式,這是使用Visual Basic的Format()函數,例如:格式化數值資料,如下所示: lblDate.Text = Format( , "g") 上述Format()函數有2個參數,第1個參數是欲格式化的運算式或變數值,第2個參數是格式字串指定的輸出格式,函數可以傳回格式化後的輸出字串。
45
4-7-2 Format()格式化函數-數字資料的格式輸出1
46
4-7-2 Format()格式化函數-數字資料的格式輸出2
如果預設格式字串無法符合需求,我們可以自行定義格式字串,在格式字串常用的格式字元,如下表所示:
47
4-7-2 Format()格式化函數-日期/時間資料的格式輸出1
日期/時間資料格式字串的說明,如下表所示:
48
4-7-2 Format()格式化函數-日期/時間資料的格式輸出1
如果預設格式字串無法符合需求,我們可以自行定義格式字串,在格式字串可以使用的格式字元,如下表所示:
Similar presentations