Ch03 基本輸出入介面設計 視窗程式設計 授課教師:王大瑾.

Slides:



Advertisements
Similar presentations
計算機程式及實習 Computer Program Design and Experiment) 期末報告 ppt 南台科技大學機械工程系 姓名 : 蔡中銘 學號 :4A 授課老師 : 謝慶存大帥哥.
Advertisements

Visual Basic 程序设计 第四讲.
視窗應用程式表單的基本輸出入 資管系 助理教授 詹曉苓.
題目:徽章之記憶 南台科技大學 機械系 車輛一乙 學號:4A 姓名:黃冠嘉 教師:謝慶存
第 1 章 公共基础知识 第 2 章 Visual Basic程序开发环境 第 3 章 对象及其操作 第 4 章 数据类型及其运算
計算機程式及實習 期末報告 題目:超級猜一猜
第二章 VB的编程机制 【授课时间】第3周,第2次课 【授课题目】 2.1 面向对象程序设计概述 2.2 VB中的对象
計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構.
計算機程式及實習 期末報告 題目:商店結帳系統
ooxx這個遊戲程式,非常的簡單只要你小時候會玩井字遊戲即可把電腦打敗,可以說是一種考智力取勝的遊戲。
課程名稱:程式設計 授課老師:________
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
南台科技大學 機械工程系 車輛一甲 學號:4A 學生:黃信成 老師:謝慶存
Visual Basic 2005學習範本 第5章 選擇結構.
1.了解VB6.0的功能特点 、集成环境。 2.理解面向对象程序设计的几个概念。 3.掌握VB应用程序设计的步骤。
客户端用Net-Library和SQL SERVER连接
課程名稱:程式設計 授課老師:________
14 繪圖與動畫 [我的小畫家][打磚塊遊戲] 14-1 繪圖的基礎 14-2 滑鼠事件與基本繪圖 14-3 在Bitmap物件繪圖
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
Visual Basic 期中報告 組長:沈亞臻 組員:蔣佳育 張庭茹
本章投影片僅供本書上課教師使用,非經同意請勿拷貝或轉載
題目:台灣客運 南臺科技大學 機械工程系 班級:奈米一乙 學號:4A 姓名:蔡政堯 授課教師:謝慶存
CH10.
Visual Basic程序设计.
BLANK overview.
程式語言Visual Basic 變數的可視範圍
課程名稱:程式設計 授課老師:________
CH11.
課程名稱:程式設計 授課老師:________
建立VB.NET應用程式 資管系 助理教授 詹曉苓.
第2章 建立Visual Basic應用程式 2-1 如何設計Visual Basic應用程式 2-2 建立主控台應用程式
第2章 建立Visual Basic應用程式.
第6章 数 组 6.1 一维数组 6.2 控件数组 6.3 二维数组.
第16章 Windows Form與資料繫結 16-1 資料繫結的基礎 16-2 在專案新增資料來源 16-3 使用資料來源建立單筆編輯表單
程式語言 -Visual Basic 變數、常數與資料型態.
課程名稱:資料庫系統 授課老師:李春雄 博士
第18章 B4J的跨平台應用程式開發 18-1 B4J的GUI設計工具與介面控制項 18-2 使用B4J的介面控制項
副程式 將可以重複使用的程式區塊獨立而成 寫在Private Sub 函數名稱() 副程式碼 End Sub 呼叫副程式
ASP动态网页设计实用教程 主讲教师: 开课单位:.
初识Visual Basic.
Visual Basic程序设计基础 计算机科学学院.
第4章 視窗應用程式的基本輸出入 4-1 物件基礎程式設計 4-2 表單控制項 4-3 按鈕控制項 4-4 資料輸出的標籤控制項
第4章 程序控制结构与算法基础.
流程控制、陣列 台南市聖功女子高級中學 毛全良.
程式設計 Visual Basic簡介 週次:1 建國技術學院 資管系 饒瑞佶 2003年9月17日.
第12章 VBA模块设计.
新觀念的 VB6 教本 第 6 章 資料型別.
第12章 繪圖與多媒體 12-1 繪圖的基礎 12-2 繪出文字和圖形 12-3 載入與顯示圖形檔案 12-4 建立多媒體的動畫效果
第四章 命令按钮、标签和文本框 大多数应用程序中都有命令按钮CommandButton控件,用户可以单击按钮执行某项操作。
Visual Basic程序设计.
第二章 创建用户界面 本章重点和难点 2.1 基本属性 2.2 创建窗体 2.3 Visual Basic的常用控件 2.4 制作菜单.
Visual Basic.NET 程序设计语言课程内容
第4章 視窗應用程式的基本輸出入 4-1 物件基礎程式設計 4-2 表單控制項 4-3 按鈕控制項 4-4 資料輸出的標籤控制項
題目:南台飲料店結帳系統 南台科技大學 機械工程系 車輛一甲 學號:4A
VB程序设计语言 主讲教师:王 杨.
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
第五章: 輸入與輸出.
VB语言程序设计教程.
107學年度高一程式設計 上機考試 投影片 加減乘除.
計算機程式及實習 Computer Program Design and Experiment) 期末報告ppt製作 南台科技大學 機械工程系 題目:南台電影城結帳系統 班級 : 車輛一甲 學號 : 4A 授教學生: 阮偉倫 授課老師: 謝慶存.
程序基础 2019/4/25.
第二章、第三章错题分析.
第 11 章 功能表列與工具列的設計 & 第 10 章 檔案.
計算機程式及實習 Computer Program Design and Experiment) 期末報告ppt製作
Visual Basic 程序设计及应用教程 (6.0版)
第五讲 VB语言基础(3).
计算机应用基础 潍坊学院 计算机工程学院 主讲人:丁素英.
Print方法和函数 2019/5/19.
程式設計 Visual Basic簡介 週次:4 建國技術學院 資管系 饒瑞佶 2003年11月1日.
算法与Visual Basic程序基础(二)
Presentation transcript:

Ch03 基本輸出入介面設計 視窗程式設計 授課教師:王大瑾

大綱 表單物件常見的屬性 常用的事件程序 標籤控制項 按鈕控制項 方字方塊控制項 格式化輸出 InputBox函式 MsgBox函式與敘述 2019/1/15

表單物件常見的屬性 表單就是一個視窗,是最基本的輸出入介面 像一個容器可將工具箱的工具安置其中。 由工具箱拖曳到表單的工具稱為控制項或物件。 VB 透過工具箱提供工具,不用寫程式便能快速 建立高親和力的圖形化輸出入介面。 表單就是一個視窗,是最基本的輸出入介面 像一個容器可將工具箱的工具安置其中。 由工具箱拖曳到表單的工具稱為控制項或物件。 每個控制項都有所屬的屬性和方法,透過屬性 值改變可讓同類表單或控制項擁有不同外觀和 功能。 2019/1/15

表單物件常見的屬性 不同控制項和表單可能擁有相同的屬性, 也可能只有該控制項所獨有。 每個屬性皆有其預設值,可依程式需求來 加以修改。 修改控制項屬性最快方式  在程式編輯設計階段透過屬性視窗來設定。  在程式執行階段依需求在適當時機做設定。 2019/1/15

屬性視窗介紹 執行功能表中 [檢視(V)/屬性視窗(W)] 功能可開啟屬性視窗。 2019/1/15

1. 查詢或修改屬性  分類鈕: 屬性按照外觀、行為、其他…等類型來分類 排列。  字母鈕: 屬性會按照屬性的 英文名稱順序排列。  分類鈕: 屬性按照外觀、行為、其他…等類型來分類 排列。  字母鈕: 屬性會按照屬性的 英文名稱順序排列。 2019/1/15

2. 如何修改屬性的內容 Step1 - 先在表單上選取欲修改的控制項或表單本身。 - 另一方式到屬性視窗的物件清單下拉鈕按一下 選取控制項或表單本身。 Step2 點選反白欲修改的屬性。 Step3 選取屬性內容右邊可能出現下列圖示:  顯示下拉式清單供您選取。  出現對話方塊供您選取。  若出現插入點游標則直接輸入。 2019/1/15

外觀類型的屬性 2019/1/15

2019/1/15

1. 如何設定表單的標題欄名稱為 Visual Basic 2019/1/15

2. 如何設定表單的背景色為 Yellow 2019/1/15

3. 如何設定表單的背景圖片 Step1 選取表單,點選 BackgroudImage 屬性。 Step4 在開啟對話方塊中,點選書附 光碟 [ch03/images/Image1. jpg] 圖片檔,按 開啟鈕,返回選取 資源對話方塊。 Step5 返回「選取資源」對話方塊後, 觀察圖片預覽區的內容,按 確定鈕。 Step6 結果表單的背景圖呈現所選取圖片 內容。 2019/1/15

視窗樣式的屬性 2019/1/15

配置類型的屬性 2019/1/15

2019/1/15

容器(表單)的左上角座標值為(0,0),小括號內的第一個參數X座標值也就是水平距離;第二個參數為Y座標值也就是垂直距離。水平方向向右為正;垂直方向向下為正。 2019/1/15

表單物件常用的事件程序 傳統 DOS 作業系統設計出的程式都會按照 既定流程執行。 Windows 作業系統,採事件驅動觀念。將 使用者操作動作視為「事件」,事件會被作 業系統所攔截,並傳遞給應用程式的處理序 來處理。 事件驅動 是指程式執行時,程式會不斷地等待操作者 觸發事件,才執行該事件程序內所撰寫的 程式碼。由於程式執行時的流程是由操作者 決定,因此每次執行流程未必一樣。 2019/1/15

事件是物件傳送訊息給應用程式,通知有事情 發生需要處理,而傳送訊息的動作稱為觸動事件或引發事件。 所觸動的事件要如何處理,就以程式碼寫在 事件程序裡。 如家中門鈴響,就是門鈴物件 的 按一下事件 被觸動,發出訊息(門鈴聲)通知有人來。 將要處理的方式寫在「門鈴_按一下」事件程序:  若是熟識的人,就開門歡迎  若是推銷員,就假裝不在家…。 2019/1/15

表單物件常用的事件程序 事件程序的命名是結合事件傳送者(表單或控制項)的 物件名稱和事件名稱,兩者中間以底線作區隔。 在表單上按一下觸動表單的 Click 事件,若表單名稱為 Form1,其Click 事件程序的寫法如下: 物件包括表單或控制項,它們都有自己本身對應的事件。 在表單或按鈕按一下,分別觸動表單或按鈕 Click 事件。 表單物件有 Load 事件,但 按鈕控制項則沒 Load 事件。 2019/1/15

2019/1/15

[ 注意] 假設 Click 事件程序將某數加1 ; DoubleClick 事件 程序將某數加 2。 執行 DoubleClick 事件後某數會加 3 因先觸動Click事件程序將某數加1 接著執行DoubleClick事件程序將該數再加 2 總共加3 。 2019/1/15

習題一:

Step1 建立專案和表單 Load事件程序  建立 專案名稱為 EventTest 。  在表單空白處快按兩下,直接進入 Form1_Load() 事件 程序的編碼視窗。  將標題欄名稱 Text 更名為「表單Load事件測試 ... 」。 將表單的 WindowState 屬性設成最大化。 2019/1/15

2019/1/15

Step2 建立表單物件的 Form1_Activated 事件程序

2019/1/15

Step 3 建立表單物件的 Form1_Click 事件程序 2019/1/15

2019/1/15

Step 4 建立表單物件的 Form1_DoubleClick 事件程序 01 Private Sub Form1_DoubleClick(ByVal sender …. ) Handles Me.DoubleClick 02 Me.Text = "表單 DoubleClick 事件測試 ..." 03 Me.BackColor = Color.Gray 04 End Sub 2019/1/15

01 Private Sub Form1_Load(ByVal sender …) Handles MyBase.Load 02 Me.Text = "表單 Load 事件測試 ..." 03 Me.WindowState = FormWindowState.Maximized 04 End Sub 05 06 Private Sub Form1_Activated(ByVal sender …) Handles _ MyBase.Activated 07 Me.Text = "表單 Activated 事件測試 ..." 08 Me.BackColor = Color.Orange 09 End Sub 10 11 Private Sub Form1_Click(ByVal sender …) Handles Me.Click 12 Me.Text = "表單 Click 事件測試 ..." 13 Me.BackColor = Color.Green 14 End Sub 15 16 Private Sub Form1_DoubleClick(ByVal sender ….) Handles _ Me.DoubleClick 17 Me.Text = "表單 DoubleClick 事件測試 ..." 18 Me.BackColor = Color.Gray 19 End Sub 2019/1/15

標籤控制項 (Label) 在表單上提供文字提示訊息、顯示程式執行過程或最後 結果。執行時只能顯示文數字資料,無法輸入文字。 2019/1/15

2019/1/15

2019/1/15

Font 屬性的設定 2019/1/15

Font屬性的設定 只要物件含有 Text 屬性,皆可在程式中使用 New Font() 來設定字型的種類、大小、樣式。 如將 Label1 標籤控制項字體大小設為 12, 『標楷體』、『粗體』顯示,寫法: Label1.Font = New Font("標楷體", 12, FontStyle.Bold) 字型樣式(FontStyle) 有:  Bold(粗體)  Italic(斜體)、  Regular(標準)、  Strikeout(刪除線)  Underline(底線)。 2019/1/15

按鈕控制項 2019/1/15

Step1 建立輸出入介面 2019/1/15

03 Private Sub Form1_Load(ByVal sender ….) Handles MyBase.Load Filename : move.sln 01 Public Class Form1 02 03 Private Sub Form1_Load(ByVal sender ….) Handles MyBase.Load 04 lblMove.Text = "海角七號" 05 lblMove.Font = New Font("標楷體", 12, FontStyle.Bold) 06 lblMove.BackColor = Color.Cyan 07 lblMove.ForeColor = Color.Blue 08 lblMove.Location = New Point(100, 100) 09 btnRight.Enabled = False 10 btnLeft.Enabled = False 11 End Sub 12 2019/1/15

17 lblMove.Location = New Point(x, y) 18 End Sub 19 13 Private Sub btnUp_Click(ByVal sender … ) Handles _ btnUp.Click, btnLeft.Click, btnRight.Click 14 Dim x, y As Integer 15 x = lblMove.Location.X 16 y = lblMove.Location.Y – 10 17 lblMove.Location = New Point(x, y) 18 End Sub 19 20 Private Sub btnDown_Click(ByVal sender … ) Handles btnDown.Click 20 Dim x, y As Integer 21 x = lblMove.Location.X 22 y = lblMove.Location.Y + 10 23 lblMove.Location = New Point(x, y) ‘ 移到新位置 24 End Sub 25 End Class 2019/1/15

文字方塊TextBox 文字方塊是可用來輸入、修改和顯示資料。 2019/1/15

2019/1/15

文字與數值間的轉換函式 在 Text 屬性輸入的文字或是數值,VB 會轉成 字串方式存入 Text 屬性中。 若Text 數性質是數值需先用 Val() 函式,將文字 轉成數值才能運算。語法: 1. Val(str): 將str字串變數前為數字部份轉成數值資料。 2. Str(num): 將 num 數值變數值轉換成文字資料。 2019/1/15

2019/1/15

所謂方法 (Method),就是系統所提供物件或 控制項的特定功能。 在程式執行的階段,可用物件或控制項的方法協助我們快速完成任務。 文字方塊控制項的常用方法 所謂方法 (Method),就是系統所提供物件或 控制項的特定功能。 在程式執行的階段,可用物件或控制項的方法協助我們快速完成任務。 一. Clear( )方法 將文字方塊的文字內容清成空白。 程式執行時 將 TextBox1 文字方塊內顯示的文字 清除,寫法: TextBox1.Clear( ) 與 TextBox1.Text = ”” 相同

二. Focus( ) 方法 設定文字方塊控制項為駐停焦點。 所謂駐停焦點(Focus)就是使某個控制項成為作用 物件,以供使用者操作。 控制項中有 TabIndex、TabStop 屬性,才可以設定 駐停作用。 要使用 Focus 方法的控制項,其 Visible 與 Enabled 屬性值必須皆設為 True 才有效。 Focus方法的語法: 語法:物件名稱.Focus( ) 2019/1/15

Step1 建立輸出入介面 2019/1/15

Filename : BodyCheck.sln 01 Public Class Form1 02 03 Private Sub Form1_Load(ByVal sender … ) Handles MyBase.Load 04 txtTall.MaxLength = 3 05 txtWeight.ReadOnly = True 06 txtTall.TabIndex = 0 07 End Sub 08 09 Private Sub btnMan_Click(ByVal sender … ) Handles btnMan.Click 10 txtWeight.Text = "標準體重 = " & (Val(txtTall.Text) - 80) * 0.7 & " 公斤" 11 txtTall.Focus() 12 End Sub 13 14 Private Sub btnWoman_Click(ByVal sender …. ) Handles btnWoman.Click 15 txtWeight.Text = "標準體重 = " & (Val(txtTall.Text) - 70) * 0.6 & " 公斤" 16 txtTall.Focus() 17 End Sub 18 19 End Class 2019/1/15

文字方塊控制項的常用事件 一. TextChanged事件(預設事件) 程式執行時,當文字方塊的 Text 屬性值有改變時, 就會觸動該文字方塊的 TextChanged 事件程序。 將和 Text 屬性值有關的敘述,寫在 TextChanged 事件程序中。 在前面範例中,一輸入就立即顯示標準體重的互動 效果,可省掉按鈕控制項。

二. Enter 事件 當文字方塊控制項取得駐停焦點時,會觸發 Enter 事件。 通常在該事件中設定文字方塊的文字初值。 如希望某文字方塊預設值為「台中市」, 可在 Enter 事件中設 Text 屬性值為「台中市」, 每當用滑鼠或 <Tab>鍵 移動駐停焦點到該文字方塊時,文字就自動改為「台中市」。 2019/1/15

2019/1/15

Step1 輸出入介面 2019/1/15

Filename : textchange.sln 01 Public Class Form1 02 03 Private Sub txtQtyL_TextChanged(ByVal sender … ) Handles _ txtQtyL.TextChanged, txtQtyS.TextChanged 04 lblSumL.Text =Val( lblPriceL.Text) * Val(txtQtyL.Text) 05 lblSumS.Text =Val( lblPriceS.Text) * Val(txtQtyS.Text) 06 lblTotal.Text = Val(lblSumL.Text) + Val(lblSumS.Text) 07 End Sub 08 09 Private Sub txtQtyL_Enter(ByVal sender …) Handles txtQtyL.Enter 10 txtQtyL.Text = "" 11 End Sub 12 13 Private Sub txtQtyS_Enter(ByVal sender … ) Handles txtQtyS.Enter 14 txtQtyS.Clear 15 End Sub 16 End Class 2019/1/15

格式化輸出 輸出資料排列整齊,需對輸出的資料格式化。 早期 Basic 在程式中都使用 Chr(13) 函式來強迫 文字換行顯示,小括號內的參數13 為 Carriage Return 的 ASCII 碼,此表示方式可讀性低。 VB 另提供 vbNewLine 和 vbCrLf 強迫換行字元 常數代替 Chr(13),提高可讀性。 字元換行常數使用時機是資料需多行顯示時。 如希望 lblMsg 標 籤控制項內,將『最賣座的電影:』 和『海角七號』字串以兩行顯示,寫法: lblMsg.Text = "最賣座的電影:" & vbNewLine & "海角七號" 2019/1/15

常用常數 二. vbTab 常數 在記事本中按 <Tab> 鍵會跳到下一個定位點, 定位點和定位點中間可容納 8 個字元,如字串 長度超過就會多佔一個定位點 如字串長度為 10 個字元佔用兩個範圍。 如 txtAddress 文字方塊控制項內,『姓名』、 『電話』和『地址』文字以定位形式顯示。寫法: txtAddress.Text = "姓名" & vbTab & "電話" & vbTab & "地址" 2019/1/15

常用函式 string_lenght = Len (”Visual Basic 2008 真好用!”) 一. Len函式 Len函式可以取得字串的長度(字元數),不管是中文字 英文字、空格長度都視為1。下列傳回值為 22: string_lenght = Len (”Visual Basic 2008 真好用!”) 二. Space函式 可產生指定數量的空白字元,在文字顯示時可用該函式 使文字位置對齊。如希望字串長度後面不足補足8位寫法: user_name = txtName.Text & Space(8 - Len(txtName.Text)) 2019/1/15

常用函式 可將數值或字串資料,依指定格式轉換成字串。 語法: Format(運算式[, fmt]) 運算式可為數值或數值運算式,時間視同數值。 Fmt 代表轉換後字串格式,省略此參數將數值 轉成字串,正數前空白去除。 2019/1/15

常用 Format 函式的數字預設格式: 2019/1/15

常用 Format 函式的數字自訂格式: 2019/1/15

常用Format 函式的時間預設格式 [注意] Now() 函式用來取得目前時間 2019/1/15

常用 Format 函式的時間自訂格式: 2019/1/15

常用 Format 函式的時間自訂格式: 2019/1/15

Step1 建立輸出入介面 2019/1/15

Filename : ListSalary.sln 01 Private Sub Form1_Load(ByVal sender …) Handles MyBase.Load 02 txtSalary.Text = Space(4) & "碁峰資訊工作室薪資表" & Space(4) _ & Forma t(Now, "G") & vbCrLf & vbCrLf 03 txtSalary.Text & = "姓名" & vbTab & "到職日" & vbTab & Space(2) & _ “薪資" & vbTab & vbTab & "備註" & vbNewLine & vbNewLine 04 txtSalary.Text &= "張三丰" & vbTab & Format(#3/17/1990#, "yy-MM-dd") _ & vbTab & Space(2) & Format(115000, "$ 000,000") & vbTab _ & "經理" & vbCrLf 05 txtSalary.Text &= "喬峰" & vbTab & Format(#8/1/1995#, "yy-MM-dd") _ & vbTab & Space(2) & Format(86100, "$ 000,000") & vbTab & _ "工程師" & vbCrLf 06 txtSalary.Text &= "令狐沖" & vbTab & Format(#7/16/1998#, "yy-MM-dd") _ & vbTab & Space(2) & Format(65000, "$ 000,000") & vbTab & _ "秘書" & vbCrLf 07 End Sub 2019/1/15

InputBox函式 不用建立控制項,在函式內所提供的文字輸入框內輸入資料,按 <確定> 鈕,就可達到輸入資料目的。 此函式鍵入資料會以字串型別放入指定的字串變數,語法: city = InputBox("請輸入居住縣市:", "居住地", "台中市" ) 2019/1/15

MsgBox 函式與 MsgBox 敘述 MsgBox 函式與 MsgBox 敘述,都不用在表單建立 控制項就會出現訊息對話方塊。 2019/1/15

MsgBox 按鈕格式碼 2019/1/15

MsgBox按鈕格式碼 警示圖示代碼的相關內容如下表: 2019/1/15

MsgBox按鈕格式碼 兩表代碼可相加,如要顯示 和 兩按鈕又要有 圖示,按鈕格式碼等於 17 = 1 + 16。 兩表代碼可相加,如要顯示 和 兩按鈕又要有 圖示,按鈕格式碼等於 17 = 1 + 16。 注意 0~5 間代碼,因屬於同性質是不可互相累加組合, 16~64亦同。其他代碼的相關內容如下: 2019/1/15

2019/1/15

MsgBox函式傳回值 2019/1/15

在程式中可宣告一個整數變數來存放傳回值,傳回值可查詢上表中的代碼。 例如傳回值為1,表按 鈕。下面敘述使用 return_ value來存放傳回值: 2019/1/15

[例] 若按 鈕,結束程式執行 若按 鈕,回原程式。 [例] 若按 鈕,結束程式執行 若按 鈕,回原程式。 Dim result As MsgBoxResult quit = MsgBox("是否結束?", MsgBoxStyle.YesNo , "離開?") Dim quit As MsgBoxResult If (quit = MsgBoxResult.Yes) Then End ' 程式結束 End If 2019/1/15

2019/1/15

Filename : UserCheck.sln 01 Public Class Form1 02 03 Private Sub Form1_Load(ByVal sender …) Handles MyBase.Load 04 Dim userName As String 05 userName = (InputBox("請輸入 User Name : ", "輸入使用者名稱", , 200, 200)) 06 MsgBox("你的使用者名稱是:" & userName) 07 End Sub 08 09 End Class 2019/1/15