第9章 視窗應用程式的事件處理 9-1 事件的基礎 9-2 表單事件 9-3 滑鼠事件 9-4 鍵盤事件 9-5 表單的鍵盤事件

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

第 1 章 公共基础知识 第 2 章 Visual Basic程序开发环境 第 3 章 对象及其操作 第 4 章 数据类型及其运算
計算機程式語言實習課.
.NET 程式設計入門(使用 C#) 講師:鄧智鴻.
班級:自控四甲 姓名:何禎隆 學號: 老師:謝慶存
14 繪圖與動畫 [我的小畫家][打磚塊遊戲] 14-1 繪圖的基礎 14-2 滑鼠事件與基本繪圖 14-3 在Bitmap物件繪圖
第九章 視窗事件應用技巧.
第 10 章 事件驅動程式設計.
題目:台灣客運 南臺科技大學 機械工程系 班級:奈米一乙 學號:4A 姓名:蔡政堯 授課教師:謝慶存
CH10.
Ch06 建立WEB表單 網頁程式設計.
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
課程名稱:程式設計 授課老師:________
程式語言 教學投影片.
第10章 陣列與清單控制項.
Q101 在701 SDX Linux上的標準安裝與使用程序v2
程式語言 -Visual Basic 變數、常數與資料型態.
第2章 建立Visual Basic應用程式 2-1 使用Visual Studio開發Visual Basic應用程式
客戶端的檔案上傳 HtmlInputFile檔案控制項 上傳單一檔案 同時上傳多個檔案.
Google Data API Spreadsheet
Visual Basic程序设计 第八章 过程 -子程序和函数
第4章 視窗應用程式的基本輸出入 4-1 物件基礎程式設計 4-2 表單控制項 4-3 按鈕控制項 4-4 資料輸出的標籤控制項
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
R教學 安裝RStudio 羅琪老師.
第8章 键盘、鼠标事件和图形 Visual Basic为用户提供了键盘、鼠标事件用于响 应键盘操作和鼠标操作。在Visual Basic中,大多 数控件都有键盘事件和鼠标事件。这一章将讲述 与键盘和鼠标相关的内容,除此之外,还有通常 在鼠标事件中出现的关于绘制图形方面的内容。
湖北职院计科系.
第十二章 事件 12-1 KeyPress 12-2 KeyDown及KeyUp
安裝JDK 安裝Eclipse Eclipse 中文化
Visual Basic 物件導向程式設計簡介.
第4章 視窗應用程式的基本輸出入.
Ch03 基本輸出入介面設計 視窗程式設計 授課教師:王大瑾.
Java 程式設計 講師:FrankLin.
高等学校计算机基础教育教材 Visual Basic 6.0 程序设计 上海中医药大学现代教育技术中心 计算机教学部 1.
網頁切換移轉 JS vs. ASP.NET.
電腦攻擊與防禦 使用電腦教室VMware軟體說明.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
表單(Form).
第一單元 建立java 程式.
VS.NET 2003 IDE.
PLC-GPPW軟體使用教學 授課教師:張祖烈
計算機程式 Visual BASIC 程式設計
VB程序设计语言 主讲教师:王 杨.
Ch20. 計算器 (Mac 版本).
Events & Event Handling
第 19 章 XML記憶體執行模式.
資料來源 2 網路過濾軟體之安裝說明 資料來源 2.
打地鼠(陣列版).
挑戰C++程式語言 ──第8章 進一步談字元與字串
雙按button1,2,3,4 Method 方法/動作 textBox2.Text textBox1 textBox3.Text 轉為數字 c是數字 int c = int.Parse(textBox1.Text) + …; textBox3.Text = c.ToString();
Controls.
GridView.
GridView操作 (II).
HelloPurr_Extend 靜宜大學資管系 楊子青
Flash 8:開口中 從Y:\ 複製『開口中.fla』到 D:\ 更改名稱為:s3x99 (你的班號) 雙按開啟檔案 2019年5月7日
Video 影像 (VideoPlayer 影像播放器、Camcorder 錄影機) 靜宜大學資管系 楊子青
PowerPoint 操作介紹 106 計算機概論
函數應用(二)與自定函數.
PROGRAM 7 SQUARE E. Angel.
程式設計 Visual Basic簡介 週次:4 建國技術學院 資管系 饒瑞佶 2003年10月18日.
進階UI元件:ListView元件以及複選 靜宜大學資管系 楊子青
第八章: 輸入裝置-鍵盤與滑鼠.
國立台灣大學 關懷弱勢族群電腦課程 By 資訊工程 黃振修
1、复选框和单选按钮 2、框架 3、列表框和组合框 4、滚动条 5、鼠标器事件 6、键盘
What is “this”? 在物件導向程式設計中,類別的定義就是在說明如果創建了“這個物件”的話,它會具有那些屬性與功能,以及這些功能是如何實現的。 而所謂的“這個物件”就以 this 來表示。 當我們在JavaScript與jQuery中寫 script 程式(函式)時,“誰”呼叫這個函式,這個“誰”就是該函式中所謂的.
多國語系 建國科技大學 資管系 饒瑞佶.
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
Develop and Build Drives by Visual C++ IDE
InputStreamReader Console Scanner
Presentation transcript:

第9章 視窗應用程式的事件處理 9-1 事件的基礎 9-2 表單事件 9-3 滑鼠事件 9-4 鍵盤事件 9-5 表單的鍵盤事件 9-6 控制項的事件

9-1 事件的基礎 9-1-1 認識事件 9-1-2 建立事件處理程序 9-1-3 共用事件處理程序

9-1-1 認識事件-說明 「事件」(Event)是在執行視窗應用程式時,滑鼠、鍵盤或表單載入時等操作所觸發的一些動作。 例如:將應用程式視為一輛公共汽車,公車依照行車路線在馬路上行駛,事件是在行駛過程中發生的一些動作,如下所示: 看到馬路上的紅綠燈。 乘客上車、投幣和下車。 例如:看到站牌有乘客準備上車時,乘客上車的事件就觸發,司機知道需要路邊停車和開啟車門。

9-1-1 認識事件-圖例 回到本章主題,Visual Basic視窗應用程式的事件處理是一種委託事件處理模型,分為出版者(Publisher)即引發事件的控制項或物件;「訂閱者」(Subscriber)是訂閱此事件,負責來處理此事件的物件,如右圖所示:

9-1-2 建立事件處理程序-建立方法 在表單設計視窗按二下控制項來建立預設的事件處理程式。 不是預設事件,可以在程式碼編輯視窗選取【類別名稱】的控制項後,在【方法名稱】選擇指定的事件。

9-1-2 建立事件處理程序-預設事件 表單和控制項預設的事件處理程序,如下表所示:

9-1-3 共用事件處理程序-說明 Windows應用程式的多個控制項可以共用同一個事件處理程序,如果控制項的處理程序內容都大同小異,我們可以建立共用的事件處理程序,用來處理不同控制項所產生的事件。

9-1-3 共用事件處理程序-範例 例如:在表單上擁有Button1和Button2按鈕控制項,我們可以只建立Button1_Click()事件處理程序,讓它同時處理2個按鈕的Click事件,如下所示: Private Sub Button1_Click(sender As _ Object, e As EventArgs) _ Handles Button1.Click, Button2.Click ……….. End Sub

9-1-3 共用事件處理程序- Visual Basic專案 Visual Basic專案:Ch9-1-3 在Windows應用程式建立2個按鈕控制項共用Button1_Click()事件處理程序,控制項模擬2張樸克牌,其點數由亂數產生,按一下可以顯示點數,我們可以猜測2張牌中,哪一張牌的點數比較大,如下圖所示:

9-2 表單事件-說明 Visual Basic建立的Windows應用程式是由表單物件所組成,當應用程式載入表單時,即會觸發一系列表單事件。 事實上,載入表單、調整視窗尺寸和關閉表單的過程,都會觸發一系列事件。

9-2 表單事件-常用事件 常用的表單事件,如下表所示:

9-2 表單事件-Visual Basic專案 Visual Basic專案:Ch9-2 在Windows應用程式表單顯示表單事件的觸發過程,在載入表單後,當使用者調整視窗尺寸、作用中視窗、非作用中視窗和關閉視窗時,都可以看到觸發的表單事件,如下圖所示:

9-3 滑鼠事件 9-3-1 Click與DoubleClick事件 9-3-2 MouseUp和MouseDown事件 9-3-3 MouseEnter、MouseMove和MouseLeave事件

9-3 滑鼠事件 滑鼠事件是在表單或控制項上操作滑鼠時,移動、按一下和按二下等操作所觸發的一系列事件,如下表所示:

9-3-1 Click與DoubleClick事件-說明 事實上,觸發Click事件時是依序觸發MouseDown、Click和MouseUp事件;DoubleClick事件會依序觸發MouseDown、Click、DoubleClick和MouseUp事件。

9-3-1 Click與DoubleClick事件- 使用Click事件的時機 在Windows應用程式表單和控制項使用Click事件的時機,如下所示: 按下按鈕執行程式碼,在本章前的範例程式都是使用Click事件。 在選項按鈕或核取方塊選取或勾選選項。 將標籤控制項模擬成按鈕控制項按下的功能。

9-3-1 Click與DoubleClick事件- 使用DoubleClick事件的時機 DoubleClick事件在表單控制項使用的機會並不多,以目前說明的控制項來說,只有表單、標籤和文字方塊支援DoubleClick事件,第10章的清單方塊和下拉式清單方塊控制項也支援DoubleClick事件。

9-3-1 Click與DoubleClick事件- Visual Basic專案 Visual Basic專案:Ch9-3-1 在Windows應用程式建立手機與平板商品銷售和付款的表單,然後測試控制項的Click和文字方塊的DoubleClick事件,它是使用全域變數來處理選項按鈕的選擇 ,如下圖所示:

9-3-2 MouseUp和MouseDown事件-說明 MouseUp和MouseDown事件是當使用者按下滑鼠按鍵和放開時,產生的事件。程式碼可以從事件處理程序參數e的MouseEventArgs物件取得使用者按下哪一個按鍵。 物件常用的屬性,如下表所示:

9-3-2 MouseUp和MouseDown事件- Visual Basic專案 Visual Basic專案:Ch9-3-2 在Windows應用程式建立一個按鈕控制項,當在表單移動滑鼠游標且按下滑鼠按鍵後,可以分別在表單標題列和控制項顯示按下哪一個按鍵和目前座標,如下圖所示:

9-3-3 MouseEnter、MouseMove和MouseLeave事件-說明 MouseEnter和MouseLeave事件是滑鼠進入控制項和離開控制項時產生的事件,我們可以使用這2個事件建立控制項的動畫效果。例如:進入控制項時,背景色彩為紅色,離開時控制項變成綠色。 MouseMove事件是在滑鼠移動時產生的一系列事件,在程式中只需使用此事件,就可以建立滑鼠拖拉控制項的效果,因為需要調整控制項位置,換句話說,我們需要在程式碼取得控制項的座標和尺寸。

9-3-3 MouseEnter、MouseMove和MouseLeave事件-屬性 其相關屬性如下表所示:

9-3-3 MouseEnter、MouseMove和MouseLeave事件-Visual Basic專案 Visual Basic專案:Ch9-3-3 在Windows應用程式建立一個藍色小方塊的標籤控制項,當滑鼠游標移到標籤中時,背景色彩變成紅色,按下滑鼠左鍵可以拖拉標籤控制項到游標所在位置,如下圖所示:

9-4 鍵盤事件 9-4-1 KeyDown和KeyUp事件 9-4-2 KeyPress事件

9-4 鍵盤事件-說明 當在文字方塊控制項輸入文字內容時,控制項會觸發一系列鍵盤事件,如下表所示:

9-4-1 KeyDown和KeyUp事件-說明 KeyDown和KeyUp事件處理程序是依參數的KeyEventArgs物件屬性來取得按下哪一個按鍵,其相關屬性如下表所示:

9-4-1 KeyDown和KeyUp事件- 取得表單實際區域 本節範例程式是使用鍵盤的方向鍵來移動文字方塊,為了避免移出邊界,程式碼使用表單的ClientSize物件取得實際區域的尺寸(去掉標題列和框線的尺寸後),如下所示: Dim maxWidth As Integer = Me.ClientSize.Width Dim maxHeight As Integer = Me.ClientSize.Height 上述程式碼取得表單實際區域的寬和高。

9-4-1 KeyDown和KeyUp事件- Visual Basic專案 Visual Basic專案:Ch9-4-1 Windows應用程式類似Ch9-3-3專案,改為使用鍵盤方向鍵移動黃色背景的文字方塊控制項,當使用者按下按鍵,就顯示按鍵碼和是否同時按下Ctrl、Alt和Shift鍵,如下圖所示:

9-4-2 KeyPress事件-說明 KeyPress事件是在KeyDown事件之後和KeyUp事件之前觸發,可以使用函數取得按鍵ASCII碼,在事件處理程序傳入的參數是KeyPressEventArgs物件,其相關屬性如下表所示: KeyChar屬性取得的是字元Char,可以使用Asc()函數將字元轉換成ASCII碼。如果需要檢查字元,請使用Chr()函數將ASCII碼轉換成字元。

9-4-2 KeyPress事件- Visual Basic專案 Visual Basic專案:Ch9-4-2 在Windows應用程式建立2個文字方塊控制項,一個只允許輸入小寫英文字母;一個只能輸入數字0~9,如下圖所示:

9-5 表單的鍵盤事件-啟用 Visual Basic表單在預設情況下,為了避免影響執行效率,並不會觸發鍵盤事件,所以上一節範例程式都是使用TextBox文字方塊控制項來觸發鍵盤事件。 表單如果需要作為回應鍵盤事件的傾聽者物件,請設定表單的KeyPreview屬性為True,如下表所示:

Visual Basic的Split()函數可以將字串以指定分隔字串切割成字串陣列,如下所示: Dim str As String = "This/is/a/book." Dim arrString() As String = Split(str, "/") 上述程式碼傳回以第2個參數"/"來分割第1個參數成為字串陣列,其執行結果相當於宣告字串陣列,如下所示: Dim arrString() As String = _ {"This", "is", "a", "book."}

9-5 表單的鍵盤事件- Visual Basic專案 Visual Basic專案:Ch9-5 在Windows應用程式建立簡單的四則計算機,程式開啟表單的鍵盤事件,以便標籤控制項可以模擬文字方塊來輸入運算式。 四則計算機可以顯示一個運算子的完整運算式,例如:在輸入23 + 34後,按下等號可以計算結果,操作方式允許按下按鈕或使用鍵盤的數字鍵,如右圖所示:

9-6 控制項的事件 9-6-1 文字方塊控制項的 TextChanged事件 9-6-2 核取方塊與選項按鈕的 CheckedChanged事件

9-6-1 文字方塊控制項的TextChanged事件- 說明 文字方塊控制項的TextChanged事件是輸入文字過程觸發的事件。它是在KeyDown、KeyPress事件後觸發TextChanged事件,最後是KeyUp事件。 TextChanged事件可以建立動態資料變更,我們可以在輸入資料後,就馬上輸出輸入的內容。事件說明如下表所示:

9-6-1 文字方塊控制項的TextChanged事件-Visual Basic專案 Visual Basic專案:Ch9-6-1 在Windows應用程式建立文字方塊和標籤控制項,當在文字方塊輸入文字內容時,可以馬上在標籤顯示輸入的文字內容,如下圖所示:

9-6-2 核取方塊與選項按鈕的CheckedChanged事件-說明 核取方塊與選項按鈕擁有CheckedChanged事件,可以建立動態選項的選取,例如:在之前點餐系統,只需配合CheckedChanged事件,就可以在選取餐點後,馬上計算目前的總金額。其說明如下表所示:

9-6-2 核取方塊與選項按鈕的CheckedChanged事件-Visual Basic專案 Visual Basic專案:Ch9-6-2 在Windows應用程式建立iPod產品訂購程式,只需勾選商品,馬上就可以顯示訂購數量和總價。選擇自取或貨運後,手續費用也會馬上加到總價中,如下圖所示:

End