視窗應用程式表單的基本輸出入 資管系 助理教授 詹曉苓
VB.NET的物件說明 • VB.NET物件可以視為一個提供特定功能的元件或黑盒子,並不用考慮元件內部的資料是什麼或程式碼怎麼寫,只需知道這個物件提供什麼方法和屬性,以及如何使用它,就可以用來建立所需的應用程式。
VB.NET的物件說明-物件 • 物件(Objects): 物件為物件導向程式的基礎,物件是資料和包含處理此資料程式碼(稱為方法)的綜合體。 • 「類別」如同是一個藍圖可以用來定義物 件,當使用類別建立物件時。 – 在VB.NET的物件是應用程式的組成元件, 表單和工具箱中的控制項,例如:文字方 塊、清單方塊、標籤和按鈕等都是物件。
VB.NET的物件屬性 • 屬性(Properties): 物件的屬性是物件的 性質和狀態,例如:文字方塊控制項提供 MaxLength屬性設定輸入字串的長度,表單 物件的BackColor可以指定背景色彩,如下 所示: Form1.BackColor Form1.ForeColor Form1.Text TextBox1.MaxLength
VB.NET的物件方法 • 方法(Methods): 方法是物件的處理函數, 也就是執行物件提供的功能,例如:Graphics 線,如下所示: g.DrawString() g.DrawLine() • 上述程式碼使用的是Graphics物件的方法,並 不需要知道繪出字串和畫線的程式碼到底是 什麼?只需知道物件的方法如何用,提供所 需的參數就可以繪出圖形。
VB.NET的物件事件 • 事件(Events): 事件是在支援事件的物件上所進行的操作,例如:表單載入、在表單上使用滑鼠按 一下或按下鍵盤按鍵等操作所觸發的一些動作。 • 物件是使用事件處理程序來處理事件,例如:表單 物件載入時會觸發Load事件,我們就可以建立處 理此事件的程序,如下所示: Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) ……. End Sub
物件名稱的命名 • VB.NET的控制項物件在新增至表單時,預設是以控制項名稱加上編號作為名稱(即Name屬性的值),例如:Form1、Label1和Button1等,預設的物件名稱缺乏可讀性,並不能作為程式註解的用途。
物件名稱的命名
表單的基礎 • 視窗作業系統建立Windows應用程式,其基本輸出入將是GUI元件的控制項。首先我們先來看一個Windows視窗應用程式,例如:Windows作業系統的【記事本】,如下圖所示:
建立表單類別 • 在Visual Studio.NET新增【Windows應用程式】專案,就可以建立表單類別,其建立的步驟,如下所示: – 步驟2:調整表單尺寸 – 步驟3:設定表單屬性 – 步驟4:編譯執行Windows應用程式
表單的常用屬性 • VB.NET的表單物件提供多種屬性,各屬性都有預設值,在建立表單時只需更改需設定的屬性,其它屬性直接使用預設值即可,以分類整理的常用屬性。 – 外觀 – 配置 – 設計 – 視窗樣式
按鈕控制項 • 表單的按鈕控制項是一個十分重要的控制項,它是實際執行功能的介面,例如:在輸入資料後,按下按鈕觸發Click事件,執行事件處理程序顯示結果、更改屬性或取消等操作。
新增按鈕控制項-步驟 • VB.NET只需建立好表單物件,就可以將表單 物件視為一個容器,新增所需的按鈕控制 項。 – 步驟1:開啟Windows應用程式專案 – 步驟2:新增按鈕控制項 – 步驟3:設定按鈕控制項的屬性 – 步驟4:建立按鈕控制項的Click事件處理程序 – 步驟5:編譯執行Windows應用程式
新增按鈕控制項- Button1_Click • 程式碼存取控制項的屬性,其格式如下所示: ControlName.PropertyName • 上述語法可以存取控制項屬性,ControlName是控制項的Name屬性,例如:按鈕名稱為Button1,PropertyName是屬性名稱,如果我們想更改按鈕的標題名稱,其程式碼如下所示: Button1.Text = "成功執行事件處理"
新增按鈕控制項- Button1_Click
按鈕控制項的常用屬性
按鈕控制項的常用屬性
輸出資料的標籤控制項 • 標籤控制項在表單中屬於說明文字,例如:文字方塊控制項的說明文字,或是用來輸出執行的結果,按一下按鈕可在標籤顯示運算式的執行結果。
新增標籤控制項-步驟 • 在VB.NET建立好表單物件,就可以新增所 需的標籤控制項。 – 步驟1:開啟Windows應用程式專案 – 步驟2:新增標籤控制項 – 步驟3:設定標籤屬性 – 步驟4:在標籤輸出計算結果 – 步驟5:編譯執行Windows應用程式
新增標籤控制項- Button1_Click Private Sub Button1_Click(ByVal sender As System.Object,_ ByVal e As System.EventArgs) Handles Button1.Click Dim f, X As Integer Dim str As String X = 10 str = "X = " & X & vbNewLine f = X ^ 2 - 2 * X + 3 lblResult.Text = str & "X ^ 2 - 2 * X + 3 = " & f End Sub
標籤控制項的常用屬性
輸入資料的文字方塊控制項 • 文字方塊控制項可以讓使用者輸入資料,輸入的資料是字串,只需配合型別轉換函數,就可以取得所需型別的資料。
新增文字方塊 • 在VB.NET建立好表單物件,就可以新增所 需的文字方塊控制項。 – 步驟1:開啟Windows應用程式專案 – 步驟2:新增文字方塊控制項 – 步驟3:設定文字方塊控制項屬性 – 步驟4:取得文字方塊的內容 – 步驟5:編譯執行Windows應用程式
新增文字方塊
新增文字方塊- btnConvert_Click 如下所示: Private Sub btnConvert_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) _ Handles btnConvert.Click Dim fahr, cels As Double cels = CDbl(txtInput.Text) fahr = (9.0 * cels) / 5.0 + 32.0 lblResult.Text = fahr End Sub
文字方塊控制項的常用屬性
文字方塊控制項的常用屬性
選取文字方塊的文字說明 • 文字方塊控制項關於選取文字內容的屬性和方法,如下表所示:
選取文字方塊的文字內容
選取文字方塊的內容-Button1_Click • 按二下Button1按鈕,可以建立Button1_Click事件處理程序。 Private Sub Button1_Click(ByVal sender As System.Object,_ ByVal e As System.EventArgs) Handles Button1.Click txtMessage.SelectionStart = 0 txtMessage.SelectionLength = 5 txtMessage.Focus() End Sub
選取文字方塊的內容-Button2_Click • 按二下Button2按鈕,可以建立Button2_Click事件 處理程序。 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 txtMessage.Focus() End Sub
Windows訊息對話方塊 • Windows訊息對話方塊是Windows作業系統預設的對話方塊,我們可以在VB.NET的Windows應用程式使用這些對話方塊來顯示訊息或輸入資料。
MsgBox訊息視窗-語法 • VB.NET的MsgBox函數可以顯示訊息視窗, 提供使用者錯誤訊息或是非題的選擇,例 如:確認操作,函數的語法,如下所示: MsgBox(訊息, [樣式, 視窗標題]) • 各參數的說明,如下所示: – 訊息:這是顯示在訊息視窗中的資訊,這是一個 字串,MsgBox函數至少需要提供此參數。 – 樣式:指定訊息視窗顯示的按鈕、圖示和預設按 鈕樣式,這是MsgBoxStyle的列舉常數。 – 視窗標題:顯示在訊息視窗上方標題列的字串, 如果沒有指定,預設是專案名稱。
MsgBox訊息視窗-範例 • 訊息視窗MsgBox函數的使用範例,如下所示: ret = MsgBox(txtPrompt.Text, msgStyle, "結束程式") • 上述程式碼第1個參數是文字方塊的內容,第2個 參數msgStyle顯示樣式整數值,使用的是列舉常 數,如果不只一個(按鈕、圖示、預設按鈕只能 各選一),請使用加法計算樣式值,如下所示: msgStyle = MsgBoxStyle.OKCancel + _ MsgBoxStyle.Question + _ MsgBoxStyle.DefaultButton2
MsgBox訊息視窗傳回值 MsgBox函數有傳回值,傳回值是按下那一個按鈕,這是MsgBoxResult列舉常數,如下:
InputBox對話方塊-語法 • InputBox對話方塊可以彈出一個對話方塊, 讓使用者輸入資料,在功能上如同單行文字 方塊控制項,函數的語法,如下所示: InputBox(訊息, [標題文字, 預設值, 位置x, 位置y]) • 各參數的說明,如下所示: – 訊息:這是顯示在對話方塊的字串,InputBox函 數至少需要提供此參數。 – 標題文字:顯示在標題列的文字內容。 – 預設值:輸入資料的預設值。 – 位置x、位置y:對話方塊在螢幕上顯示的位置, 如果沒有指定,預設值是桌面的正中央。
InputBox對話方塊範例 • InputBox函數的使用範例,如下所示: • 上述程式碼的InputBox函數只指定前2個參 strValue = InputBox("請輸入美金金額?", "輸入金額") • 上述程式碼的InputBox函數只指定前2個參 數,傳回值是使用者輸入的資料,如果按下 OK鈕,就傳回輸入字串,Cancel鈕則傳回空 字串。
字型與色彩-字型 • Font物件:VB.NET的字型是Font類別的物件,需要使用New運算子建立Font物件,如下所示: lblShow.Font = New Font("新細明體", 16, FontStyle.Bold) • 上述程式碼建立Font物件指定為控制項的 Font屬性,使用的是Font類別的建構子,其 參數依序是字型名稱、字型尺寸和樣式。 • 樣式不只一個用OR串接,如下所示: lblShow.Font = New Font(“標楷體", 16, FontStyle.Bold or FontStyle.Italic)
字型樣式
字型與色彩 • Color結構:在程式碼指定控制項色彩是使 用Color結構,這是Color結構的屬性,如下 所示: lblShow.BackColor = Color.White • 上述程式碼指定lblShow控制項的背景色彩 BackColor屬性為白色。
色彩結構屬性
色彩結構FromArgb方法 • Color結構的FromArgb方法,以RGB三原色 的比例值來指定色彩,如下所示: lblShow.ForeColor = Color.FromArgb(255, 0, 0) • 上述程式碼建立的是紅色,3個參數依序是 紅、綠和藍三原色的比例值,值的範圍是 0~255。
Format格式化函數 在輸出時除了指定字型與色彩外,我們也可以指定 輸出格式,例如:日期資料是輸出成「月/日/年」 或「年/月/日」格式,使用的是VB.NET的Format函 數,一個數值的格式代函數範例,如下所示: lblDate.Text = Format(45677.8912, "g") • 上述Format函數擁有2個參數,第1個參數是欲格式 化的運算式或變數值,第2個參數是格式字串指定 輸出的格式,函數可以傳回格式化後的輸出字串。