Presentation is loading. Please wait.

Presentation is loading. Please wait.

第4章 視窗應用程式的基本輸出入.

Similar presentations


Presentation on theme: "第4章 視窗應用程式的基本輸出入."— Presentation transcript:

1 第4章 視窗應用程式的基本輸出入

2 第4章 視窗應用程式的基本輸出入 4-1 物件基礎程式設計 4-2 表單控制項 4-3 按鈕控制項 4-4 資料輸出的標籤控制項
4-5 資料輸入的文字方塊控制項 4-6 訊息與對話方塊 4-7 格式化資料的輸出

3 4-1 物件基礎程式設計 4-1-1 物件的基本觀念 4-1-2 物件名稱的命名

4 4-1 物件基礎程式設計 .NET Framework支援的Visual Basic語言是一種物件導向程式語言,其精神是物件,但支援物件的程式語言並不一定是物件導向程式語言,可能只是一種物件基礎程式語言(Object-based Languages),只提供資料抽象化和物件觀念。例如:舊版VB6。 換句話說,讀者就算尚未熟悉附錄A的物件導向程式設計,也一樣可以使用物件建立Windows應用程式,也就是將它視為物件基礎語言來建立Windows應用程式。

5 4-1-1 物件的基本觀念-物件 物件(Objects)是物件導向程式的基礎,簡單的說,物件是資料(Data)和包含處理此資料程式碼(稱為方法Method)的綜合體。 「類別」(Class)是定義物件內容的模子,透過模子可以建立屬於同一個類別的多個物件,例如:Label控制項是一個類別,當我們在表單上新增多個標籤控制項後,就是使用類別建立名為Label1和Label2.等多個物件。

6 4-1-1 物件的基本觀念-屬性 物件的屬性(Properties)是物件的性質和狀態,例如:文字方塊控制項提供MaxLength屬性設定輸入字串的長度,表單物件的BackColor可以指定背景色彩,如下所示: Form1.BackColor TextBox1.MaxLength

7 4-1-1 物件的基本觀念-方法 方法(Methods)是物件的處理函數,也就是執行物件提供的功能,例如:Graphics繪圖物件g提供方法可以繪出字串和畫線,如下所示: g.DrawString() g.DrawLine() 上述程式碼使用Graphics物件的方法。事實上,我們並不需要知道繪出字串和畫線的程式碼是什麼?只需知道物件提供的方法需要如何用,指定參數後,就可以繪出指定的圖形。

8 4-1-1 物件的基本觀念-事件1 事件(Events)本身是一個物件,它代表使用者按下滑鼠按鍵或鍵盤按鍵等操作後,所觸發的動作進而造成控制項狀態的改變,當這些改變發生時,就會觸發對應的事件物件。我們可以針對事件來作進一步處理。 物件可以建立事件處理程序來處理事件,這種以事件設計程式的方式,稱為「事件驅動程式設計」(Event-driven Programming)。

9 觸發事件的來源物件,也就是哪一個物件產生此事件
4-1-1 物件的基本觀念-事件2 例如:第2章Button控制項觸發的Click事件,其事件處理程序如下所示: Private Sub Button1_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) _ Handles Button1.Click …… End Sub 事件物件本身,包含事件的相關資訊 觸發事件的來源物件,也就是哪一個物件產生此事件

10 4-1-2 物件名稱的命名-說明 當我們使用VBE將控制項物件新增至表單時,預設是以控制項名稱加上編號作為名稱(即Name屬性的值)。
例如:Form1、Label1和Button1等,預設的物件名稱缺乏可讀性,並不能作為程式註解的用途,筆者建議將物件名稱重新命名成有意義的名稱。

11 4-1-2 物件名稱的命名-命名方式 如同第3章變數的匈牙利命名法,我們也可以比照辦理,以名稱的前3個字元作為控制項代碼,如此控制項名稱將更加有意義,如下表所示:

12 4-2 表單控制項 4-2-1 表單的基礎 4-2-2 建立表單控制項 4-2-3 表單的常用屬性 Form

13 4-2-1 表單的基礎-說明 表單(Form)是一種控制項物件,它是Windows應用程式的基本架構,更正確的說,Windows應用程式的視窗和對話方塊,就是一種表單物件。 視窗應用程式的基本輸出入是GUI元件的控制項。首先讓我們看一個Windows視窗應用程式,例如:Windows作業系統的【小算盤】,如右圖所示:

14 4-2-1 表單的基礎-架構 換句話說,Windows應用程式是由一個個視窗和對話方塊所組成,對應到Visual Basic就是一個個表單物件。 我們可以將表單物件視為容器,在每一個表單物件中都擁有許多控制項,像是在一個大盒子中放入其他控制項的小盒子,如下圖所示:

15 4-2-2 建立表單控制項-Visual Basic專案
Visual Basic專案:Ch4-2-2 在Windows應用程式更改表單的標題文字為【Windows應用程式】,背景色彩為GrayText,其建立步驟如下所示: 步驟一:建立Windows Form應用程式專案 步驟二:調整表單尺寸 步驟三:設定表單屬性 步驟四:編譯執行Windows應用程式

16 4-2-2 建立表單控制項-圖例

17 4-2-3 表單的常用屬性-外觀

18 4-2-3 表單的常用屬性-配置

19 4-2-3 表單的常用屬性-設計 設計屬性是在表單設計階段的相關屬性,如下表所示:

20 4-2-3 表單的常用屬性-視窗樣式

21 4-3 按鈕控制項-說明 「按鈕」(Button)控制項是表單上十分重要的控制項,它是實際執行功能的使用介面。例如:在輸入資料後,按下按鈕觸發Click事件,就可以執行事件處理程序來顯示結果、更改屬性或取消等操作,如下圖所示: Button

22 4-3 按鈕控制項-按鈕的快速鍵 在按鈕控制項新增快速鍵,就是在輸入標題名稱的Text屬性時,在英文字母前加上"&"符號,表示之後字元成為底線字的快速鍵。一些"&"符號的範例,如下表所示: 標題名稱字串 顯示結果 快速鍵 (&Search) (Search) Alt+S (E&xit) (Exit) Alt+X (&Change) (Change) Alt+C

23 4-3 按鈕控制項- 按鈕控制項的Click事件
按鈕控制項預設觸發Click事件,我們可以建立Click事件處理程序執行所需的操作。事件處理程序預設的名稱格式,如下所示: ControlName_EventName 上述ControlName是控制項名稱,底線後是事件名稱,其意義是「此程序是用來處理控制項ControlName產生的EventName事件」。例如:Button1控制項建立的Click事件處理程序名稱為Button1_Click()。

24 4-3 按鈕控制項- 存取表單與控制項的屬性 除了在「屬性」視窗更改屬性值外,也可以使用Visual Basic程式碼存取控制項的屬性值,其基本語法如下所示: ControlName.PropertyName 例如:按鈕名稱為Button1,PropertyName是屬性名稱,如果想更改按鈕控制項的標題名稱,其程式碼如下所示: Button1.Text = "執行事件處理" Form1是Button1的上一層物件,也就是Form1.vb表單自己,程式碼是使用Me關鍵字取得物件本身,如下所示: Me.Text = "測試Click事件"

25 4-3 按鈕控制項- 按鈕控制項的常用屬性

26 4-3 按鈕控制項-Visual Basic專案
Visual Basic專案:Ch4-3 在Windows應用程式新增按鈕控制項來更改控制項的Text屬性值,如下圖所示:

27 4-4 資料輸出的標籤控制項-說明 「標籤」(Label)控制項是一種資料輸出控制項,可以在表單顯示其他控制項的標題文字、說明文字或輸出執行結果,例如:我們可以按下按鈕控制項,然後在標籤顯示執行結果,如下圖所示: Label

28 4-4 資料輸出的標籤控制項-標籤控制項的常用屬性
標籤控制項的屬性有很多與表單物件和按鈕控制項相同。一些常用屬性,如下表所示:

29 4-4 資料輸出的標籤控制項-Visual Basic專案
Visual Basic專案:Ch4-4 在Windows應用程式新增標籤控制項,可以用來輸出數學運算式的計算結果,這是將第3-4-3節算術運算式的結果,改為輸出到標籤控制項,如下所示: f = X^2-2*X+3

30 4-5 資料輸入的文字方塊控制項 4-5-1 單行文字方塊 4-5-2 密碼和多行文字方塊控制項 4-5-3 選取文字方塊的內容

31 4-5-1 單行文字方塊-說明 「文字方塊」(TextBox)控制項可以讓使用者輸入資料,輸入的資料是字串,只需配合型別轉換函數就可以取得所需型別的資料。 文字方塊TextBox控制項有多種不同的顯示外觀,預設是建立單行文字方塊,如下圖所示: TextBox

32 4-5-1 單行文字方塊- 文字方塊控制項的常用屬性

33 4-5-1 單行文字方塊-Visual Basic專案
Visual Basic專案:Ch4-5-1 在Windows應用程式新增2個文字方塊控制項,可以建立華氏和攝氏溫度的轉換程式,如下圖所示:

34 4-5-2 密碼和多行文字方塊控制項-說明 除了單行文字方塊外,我們可以更改TextBox控制項屬性來建立密碼和多行文字方塊控制項,如下圖所示: 密碼 多行文字方塊

35 4-5-2 密碼和多行文字方塊控制項-取得控制項的值
將txtPassword和txtMessage輸入的文字內容輸出到唯讀的txtOutput文字方塊控制項來顯示,如下所示: txtOutput.Text = txtPassword.Text & "/" &    txtMessage.Text

36 4-5-2 密碼和多行文字方塊控制項-Visual Basic專案
Visual Basic專案:Ch4-5-2 在Windows應用程式擁有密碼和多行文字方塊控制項,程式是使用ReadOnly屬性的唯讀文字方塊控制項來顯示輸出結果,如下圖所示:

37 4-5-3 選取文字方塊的內容-說明 多行文字方塊控制項如果是作為文字處理工具,我們可以選取文章的部分內容,並且將它複製出來。文字方塊控制項關於選取文字內容的屬性,如下表所示: 在文字方塊控制項的相關方法,如下表所示:

38 4-5-3 選取文字方塊的內容- Visual Basic專案
Visual Basic專案:Ch4-5-3 在Windows應用程式建立多行文字方塊控制項,提供2個按鈕,可以選取文字內容和顯示選取的內容,如下圖所示: Button2 Button1

39 4-5-3 選取文字方塊的內容-Button1~2_Click()
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click txtMessage.SelectionStart = 0 txtMessage.SelectionLength = 6 txtMessage.Focus() End Sub Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click txtOutput.Text = txtMessage.SelectedText & "/" & _ txtMessage.SelectionStart & "/" & _ txtMessage.SelectionLength

40 4-6 訊息與對話方塊 4-6-1 MsgBox訊息視窗 4-6-2 InputBox對話方塊 MsgBox InputBox

41 4-6-1 MsgBox訊息視窗-語法 Visual Basic的MsgBox()函數可以顯示訊息視窗,提供使用者錯誤訊息或是非題的選擇。例如:確認操作,函數的語法如下所示: MsgBox(提示訊息, [樣式, 視窗標題]) 上述函數參數的最後2個是選擇參數,可以不用指定。

42 4-6-1 MsgBox訊息視窗- 提示訊息參數 提示訊息參數 顯示在訊息視窗的資訊字串,MsgBox()函數至少需要提供此參數。

43 4-6-1 MsgBox訊息視窗- 樣式參數

44 4-6-1 MsgBox訊息視窗- 視窗標題參數 視窗標題參數 顯示在訊息視窗上方標題列的字串,如果沒有指定,預設是專案名稱。

45 4-6-1 MsgBox訊息視窗- 範例 訊息視窗MsgBox函數的使用範例,如下所示:
ret = MsgBox(txtPrompt.Text, msgStyle, _ txtTitle.Text) 第1個參數是文字方塊內容,第2個參數msgStyle顯示樣式的整數值,使用的是列舉常數,如果不只一個(按鈕、圖示、預設按鈕只能各選一),請使用加法來計算樣式值,如下所示: msgStyle = MsgBoxStyle.OKCancel + _ MsgBoxStyle.Question + _ MsgBoxStyle.DefaultButton2

46 4-6-1 MsgBox訊息視窗- 傳回值 MsgBox()函數如果有傳回值,傳回值是按下哪一個按鈕,屬於MsgBoxResult列舉常數,如下表所示:

47 4-6-1 MsgBox訊息視窗- Visual Basic專案
Visual Basic專案:Ch4-6-1 在Windows應用程式擁有文字方塊和按鈕控制項,使用文字方塊控制項的內容來建立訊息視窗,提供按鈕可以結束應用程式的執行,如下圖所示:

48 4-6-2 InputBox對話方塊-語法 InputBox對話方塊不同於MsgBox訊息視窗是一種「是非」選擇,它可以彈出對話方塊,讓使用者輸入資料,在功能上如同單行文字方塊控制項。 InputBox()函數的語法如下所示: InputBox(提示訊息, [標題文字, 預設值, 位置x, 位置y])

49 4-6-2 InputBox對話方塊-參數 提示訊息:顯示在對話方塊的字串,InputBox()函數至少需要提供此參數。
標題文字:顯示在標題列的文字內容。 預設值:輸入資料的預設值。 位置x、位置y:對話方塊在螢幕上顯示的位置,沒有指定,預設值是桌面正中央。

50 4-6-2 InputBox對話方塊-範例 InputBox()函數的使用範例,如下所示:
strValue = InputBox("請輸入金額?", _ "輸入金額") 上述程式碼的InputBox()函數只有前2個參數,傳回值是使用者輸入的資料,按下「確定」鈕傳回輸入字串,「取消」鈕傳回空字串。

51 4-6-2 InputBox對話方塊- Visual Basic專案
Visual Basic專案:Ch4-6-2 在Windows應用程式建立利息計算功能,使用InputBox()函數的對話方塊輸入金額後,計算出每年需要的利息是多少,如下圖所示:

52 4-7 格式化資料的輸出 4-7-1 字型與色彩 4-7-2 Format()格式化函數

53 4-7-1 字型與色彩-Font物件 字型是Font類別的物件,需要使用New運算子建立Font物件,如下所示:
lblShow.Font = New Font("細明體", _ 16, FontStyle.Bold) 上述程式碼建立Font物件指定為控制項的Font屬性,使用的是Font類別的建構子,其參數依序是字型名稱、字型尺寸和樣式,樣式是使用FontStyle列舉常數。

54 4-7-1 字型與色彩-Color結構 在程式碼指定控制項色彩是使用Color結構的屬性,如下所示:
lblShow.BackColor = Color.Gray 上述程式碼指定lblShow控制項的背景色彩BackColor屬性為灰色。

55 4-7-1 字型與色彩-常用的色彩結構 常用的色彩結構屬性,如下表所示:

56 4-7-1 字型與色彩-FromArgb()方法
如果不是常用色彩,我們可以使用Color結構的FromArgb()方法,以RGB三原色的比例值來指定色彩,如下所示: lblShow.ForeColor=Color.FromArgb(255,0,0) 上述程式碼可以指定前景色彩為紅色,3個參數依序是紅、綠和藍三原色的比例值,值的範圍是0~255。

57 4-7-1 字型與色彩-Visual Basic專案
Visual Basic專案:Ch4-7-1 在Windows應用程式提供按鈕控制項,可以更改標籤控制項的字型、背景和前景色彩,如下圖所示:

58 4-7-2 Format()格式化函數-說明 在控制項輸出資料時,除了指定字型與色彩外,我們還可以指定輸出格式。例如:日期資料輸出成「月/日/年」或「年/月/日」格式,這是使用Visual Basic的Format()函數,例如:格式化數值資料,如下所示: lblDate.Text = Format( , "g") 上述Format()函數有2個參數,第1個參數是欲格式化的運算式或變數值,第2個參數是格式字串指定的輸出格式,函數可以傳回格式化後的輸出字串。

59 4-7-2 Format()格式化函數-數字資料的格式輸出1

60 4-7-2 Format()格式化函數-數字資料的格式輸出2
如果預設格式字串無法符合需求,我們可以自行定義格式字串,在格式字串常用的格式字元,如下表所示:

61 4-7-2 Format()格式化函數-日期/時間資料的格式輸出1
日期/時間資料格式字串的說明,如下表所示:

62 4-7-2 Format()格式化函數-日期/時間資料的格式輸出1
如果預設格式字串無法符合需求,我們可以自行定義格式字串,在格式字串可以使用的格式字元,如下表所示:

63 4-7-2 Format()格式化函數-Visual Basic專案
Visual Basic專案:Ch4-7-2 在Windows應用程式輸入日期/時間和數值的格式字串,就可以在標籤控制項顯示Format()函數的輸出結果,如下圖所示:

64 End


Download ppt "第4章 視窗應用程式的基本輸出入."

Similar presentations


Ads by Google