untitled

Similar documents
投影片 1

投影片 1

Microsoft PowerPoint - VB14.ppt

Visual Basic D 3D

VB程序设计教程

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

Microsoft Word - ch doc

Microsoft PowerPoint - 08_IOInterface.pptx

Ch6 Visual Basic表單,功能表與模組

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

IsPostBack 2

CU0594.pdf

ch02

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

ActiveX Control

Microsoft PowerPoint - 11_EventHandle.pptx

untitled

Microsoft PowerPoint - VB5

Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136

Web Form 表單與事件處理

Microsoft PowerPoint - 07_WinProg.pptx

untitled

1 1 Excel VBA 說明 ( ) (_) STEP4 Excel 2 STEP5 A1 1 B2 2 C3 3 STEP6 A1 STEP7 > > 1-11

05855BB03.indd

Chapter 16 集合

The golden pins of the PCI card can be oxidized after months or years

Microsoft Word - ch05.doc

contents 1 4 Chapter 2 Chapter 5 Chapter 管理自動儲存的版本 以文件復原窗格復原檔案 自訂快速工具 自訂快速存取工具列 自訂功能區

AutoCAD 用戶如何使用 ArchiCAD

untitled

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

1-6 Access 2016 實力養成暨評量解題秘笈 102. 書籍與作者 Step1 按 建立 索引標籤 資料表 群組的 資料表設計 按鈕 Step2 由上而下分別建立下列欄位並設定資料類型 : 欄位名稱 : ID, 資料類型 : 自動編號 欄位名稱 : BName, 資料類型 :

Microsoft PowerPoint - vb_net4

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

VB控件教程大全

封面-12

輕鬆學 PhotoImpact X3 1 / / / 3 0 RGB 12,255,255 小常識 3 056

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

<img>

馬孝先

Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089

Microsoft Word - ch06.doc

¥¼©R¦W-3

6-2 計算機概論 COMPUTERS 6-1 Windows 7 功能簡介 Windows Windows XP Windows Vista Aero Shake Windows Aero Windows Aero Microsoft 半透明效果 Aero Peek 透視 Wi

Microsoft PowerPoint - 09_CommonComponents.pptx

Microsoft Word - ACI chapter00-1ed.docx

untitled

第 4 章 表單與程式設計

投影片 1

7 DataSet DataSet TableColumnDataSet DataSet NOTE DataSet DataAdapterDataSetDataAdapter DataSet DataSetDataSetDataSet NorthwindDataSet DataSet Dim Nor

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

MVB-1001.DOC

week06.key

計算機程式及實習 期末報告ppt製作 題目:南台黑心早餐店結帳系統

6 設 超連結 images/logo.jpg Dreamweaver file:// file:// / /ch08/images/logo.jpg HTML 定網頁間的6-6-- ch06 ch06 - ch06 6-

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

Microsoft PowerPoint - VB7


Microsoft PowerPoint - 第14章.ppt

Microsoft PowerPoint - Chapter5

Microsoft Word - ch doc

超連結 03 URI (Universal Resource Identifier) URI Web URL (Universal Resource Locator) URI URI :// [: ]/ [/ 2...]/

Microsoft PowerPoint - ASP_NET_04

Chapter V.S. PC

PowerPoint 簡報

技術筆記 01 addlass()/removelass() 方法對指定的 HTML 元素附加 class 屬性可用 addlass() 方法, 刪除 class 屬性則用 removelass() 方法 透過附加 / 刪除設定 SS 的類別, 就可改變該元素的樣式 其與 animate() 方法不

書面

untitled

Microsoft PowerPoint - vb.net2.ppt

Visual C# 2005程式設計

SW cdr

Microsoft Word - CH07_P36

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

1. 2. Flex Adobe 3.

E-Form Word

PowerPoint Presentation

穨文件1

untitled

Advanced ASP.NET Controls

陳韻如 陳榮霖:陣列控制項技術之研究與應用.doc

APA Preliminaries Text Reference 1. Cover Page 2. Title Page 3. Signature Page 4. Advisor s recommendation letter 5. Approval page 6. Copyri

5-1 nav css 5-2

Microsoft Word - 02.doc

Microsoft Word - AEL CH07

Microsoft Word - 小心翼翼的二十一點N.doc

2

關於本書 l 3 PhoneGap Appcelerator Titanium Sencha Touch (wrapper framework) Native App PhoneGap Build Native App Hybrid App Java Objective-C Android SDK

多層次傳銷與獎金系統

編輯大意 一 本書是一本專為普通高中 技術高中學生編寫的程式語言入門書籍, 全書以 Visual Basic 2015 Express 版的程式開發環境, 來介紹程式基礎實作, 適合首次學習程式語言及程式設計的學生使用 二 本書共分 Ⅰ Ⅱ 兩冊,Ⅰ 冊著重介紹程式設計概念與流程控制,Ⅱ 冊則著重介

ACI pdf

健保資訊網服務系統 (VPN)- 瀏覽器設定 目 次 壹 作業目的及功能... 2 一 作業目的... 2 二 作業功能... 2 貳 瀏覽器設定說明... 3 一 Internet Explorer 8(IE 8)... 5 二 Internet Explorer 9(IE 9)... 8 三 I

* 2

Microsoft PowerPoint - 18_Event.pptx

(CIP) Web /,. :, ISBN X.W T P393.4 CIP (2004) Web ( ) ( / ) : * 787

CC213

mvc

Excel VBA Excel Visual Basic for Application

FETnet - Acer Iconia Tab  (A500 Wi-Fi 版) 平板電腦操作指南

Transcription:

CHAPTER 表單與基礎控制項.1 Form 表單介紹.2 Label 標籤控制項.3 LinkLabel 連結標籤控制項.4 ToolTip 提示控制項.5 Button 按鈕控制項.6 TextBox 文字方塊控制項.7 InputBox 輸入對話方塊函式.8 顯示輸出對話方塊方法. 習題

.1 Form 表單介紹.1.1 表單常用的屬性 當拖曳工具箱中的工具到表單中就產生一個控制項 (Control) 或稱物件 (Object), 表單及每個控制項在 屬性 視窗中有很多屬性, 每個屬性皆有其預設值, 除非對該屬性有了解, 否則不要去亂動預設屬性值, 以免引起不必要的狀況發生 欲查詢或修改屬性可透過 屬性 視窗的命令列 分類和 字母順序兩種方 式 下表是表單常用的屬性 : 分類 屬性 說明 預設值 Appearance Text( 標題 ) 表單標題欄上的文字 Form1 ( 外觀 ) BackColor 背景色 BackgroundImage 背景圖 FormBorderStyle 邊界樣式 Cursor( 滑鼠指標 ) Font 字型 設定表單工作區背景色 設定表單內放置圖形檔名和路徑 設定表單框線的樣式 標題列顯示方式以及標題列出現哪些按鈕, 共七種格式, 只能在執行時才會看到設定的結果 : None( 無框線 無標題列 大小固定 ) FixedSingle( 單線 固定 有標題列 ) Fixed3D( 立體 固定 有標題列 ) Sizable( 大小可調整 有標題列 ) FixedDialog( 雙線 固定 標題列只有關閉鈕的對話方塊 ) FixedToolWindow( 立體 固定 只有結束按鈕, 適用字型小的工具視窗 ) SizableToolWindow( 立體 可調 只有結束按鈕, 適用字型小的工具視窗 ) 設定在該控制項上滑鼠游標的形狀, 有 25 種游標供您選擇 會顯示字型對話方塊, 用來設定字型, 字型樣式 大小與效果 Control 無 Sizable Default 新細明體 pt -2

表單與基礎控制項 CHAPTER Behavior ( 行為 ) Layout ( 配置 ) Font / Name 字型名稱 Font / Size 字體大小 Font / Unit 字體大小單位 用來設定顯示字體的字型名稱, 不同字型名稱會顯示不一樣效果的字體 字體大小最好選 12 以上, 否則中文字看不清楚 字體大小的單位有下列六種 : Word Pixel( 像素 ) Point( 點數 ) Inch ( 英吋 ) Document Millimeter( 公厘 ) 新細明體 Point Font/Bold( 粗體 ) True( 以粗體字顯示 ) False( 非粗體字 ) False Font/Italic( 斜體 ) True( 以斜體字顯示 ) False( 非斜體字 ) False Font/Strikeout 刪除線 Font/Underline 底線 ForeColor 前景色 AllowDrop 許可放置 True: 字體顯示時加刪除線 False: 不加刪除線 True: 字體顯示時加底線 False: 不加底線 設定表單工作區的前景色 允許控制項拖曳至表單中放置 False False Control Text False Enable( 有作用 ) True: 有作用,False: 無效 True DockPadding 邊界距離 Location 表單位置 Location/X 水平位置 Location/Y 垂直位置 設定物件靠在表單邊界時所保持的距離 有五個子選項 :All Left Top Right Button 物件靠在表單邊界時所保持的距離 0,0 表單距離螢幕左上角的水平位置 0 表單距離螢幕左上角的垂直位置 0 Size( 表單大小 ) 表單大小 300,320 Size/Width 寬度表單的水平寬度 300 Size/Height 高度表單的垂直高度 320-3

Design ( 設計 ) WindowStyle ( 視窗型態 ) StartPosition 初始化位置 WindowState 表單狀態 表單初始化位置共有下列五種狀態 : Manual( 手動 ) CenterScreen( 螢幕中央 ) WindowsDefaultLocation( 預設位置 ) WindowsDefaultBounds( 螢幕中央並調整邊界為適當大小 ) CenterParent( 父視窗中央 ) 表單開始執行的初始狀態 : 0 一般 : 表單為設計階段大小 1 最小化 : 表單縮為圖示, 置於工作列 2 最大化 : 表單放大佔滿整個螢幕 WindowsDefa ultlocation Normal (Name) 物件名稱物件名稱 ( 供程式呼叫 ) Form1 DrawGrid 顯示格點 GridSize 格點大小 Locked( 鎖定 ) SnapToGrid 貼齊格線 ControlBox 控制盒 HelpButton 求助按鈕 是否顯示定位格線 False 設定定位格線的大小 8,8 True: 將表單中控制項位置鎖定無法移動和調整控制項的大小 False: 允許移動控制項和調整大小 True: 控制項貼齊格線 False: 控制項不必貼齊格線 True: 標題列允許有控制鈕出現 False: 標題列不允許有控制鈕出現 允許表單的標題列是否有求助按鈕 False True True True Icon( 圖示 ) 設定表單縮小時所用的圖示 (Icon) IsMDIContainer 多重文件視窗母件 MaximizeBox 最大化鈕 MinimizeBox 最小化鈕 設定此表單是否為多重文件視窗容器 設定是否顯示最大化鈕 設定是否顯示最小化鈕 False True True -4

表單與基礎控制項 CHAPTER ShowInTaskbar 顯示在工作列 TopMost 最上層 設定表單是否在工具列上顯示 True: 顯示 False: 不顯示 表單維持在最上層 True False.1.2 表單和螢幕的關係 一般都將螢幕的左上角座標設為原點其座標以 (0,0) 表示, 由原點往右當作 X 軸 原點往下當作 Y 軸 下圖將螢幕的解析度設為 800x600 Pixels, 若表單左上角座標位於 (200,150) 處, 表單大小為 400 x 300 (Width 寬 x Height 高 ), 其表單與螢幕的相對位置如下圖所示 : (0,0) X 軸 (7,0) Y 軸 X Y Top (200,150) Left 表單 Height (300) 600Pixels Width (400) (0,5) 800 Pixels (7,5) 若要設定表單初始化時, 第一次出現螢幕上的位置就必須使用 StartPostion 屬性來完成,StartPostion 屬性有下列五個屬性值供您選擇 : -5

StartPosition 屬性值 CenterScreen Manual WindowsDefaultBounds WindowsDefaultLocation CenterParent 說明 當希望表單第一次預設出現在螢幕正中央時使用 當希望表單預設出現的位置由表單的 Location 屬性來決定時使用 表單的預設位置和大小由 Windows 系統本身來決定時使用 表單的預設位置由 Windows 系統本身決定, 但表單的大小另由 Size 屬性來決定時使用, 此為 StartPosiotion 屬性的預設值 當在 MDI 文件下, 希望表單預設出現在父表單的中央時使用 注意 1. 設定表單的左上角座標是使用 Top 和 Left 屬性 只要在程式中使用 Me.Top 來設定表單左上角的 Y 座標以及使用 Me.Left 來設定表單左上角的 X 座標 (Me 表示目前的表單物件 ) Location 物件 ( 它含有 X 和 Y 兩個子屬性 ) 也可以用來設定表單左上角的座標, 欲使此屬性有效, 必須先將 StartPosition 屬性值設為 Manual,Location 物件的屬性值才能控制表單的左上角座標 若在程式中設定表單的左上角座標為 (300,350) 座標, 其寫法如下 : Me.Location = New Point(300, 350) 2. 用來設定表單的大小是使用 Width( 寬 ) 和 Height( 高 ) 兩個屬性 只要在程式中使用 Me.Width 來設定表單的寬度以及使用 Me.Height 來設定表單的高度 Size 物件 ( 它含有 Width 和 Height 兩個子屬性 ) 也可以用來設定表單的大小 若在程式中設定表單的寬度為 200 和高度為 150, 其寫法如下 : Me.Size = New Size(200, 150).1.3 表單其它常用的屬性 下表為表單控制項其它常用的屬性說明 : -6

表單與基礎控制項 CHAPTER 屬性名稱屬性功能說明預設值 AutoScroll 決定如果將控制項放在表單工作區的外部時, 捲軸是否自動出現 False AutoScrollMargin 自動捲動期間控制項周圍的邊界 0,0 AutoScrollMinSize 自動捲動區域的最小邏輯大小 0,0 MainMenuStrip 表單的主功能表應該將此設為型別 MenuStrip 元件 ( 無 ) Opacity 決定表單的透明度 ( 單位 :%) 0: 全透明 100: 不透明 100% TopMost 決定此表單是否在其它非最上層表單之上 False TransparencyKey 控制項中的顏色若和此屬性所設定顏色相同的地方會以透明顯示 白色 ImeMode 設定作用控制項的輸入法狀態 NoControl ContextMenuStrip 當使用者在此控制項按一下滑鼠右鍵時所顯示的快顯功能表 AllowDrop 是否可接受使用者拖曳資料到表單上 False CausesValidation 表示此控制項是否引發驗證事件 True DataBindings Tag AcceptButton CancelButton KeyPreview 取得控制項的資料繫結 和控制項關聯的使用者定義資料 表單若有 Button 按鈕控制項, 可透過此屬性由清單中選取某個按鈕, 當您在表單中沒有控制項的位置上面按鍵, 相當於在該鈕上按一下 表單若有按鈕控制項, 可透過此屬性由清單中選取某個按鈕, 當您在表單中沒有控制項的位置上面按鍵, 相當於在該鈕上按一下 決定表單上控制項的鍵盤事件是否與表單一起登錄 ( 無 ) ( 無 ) False Language 目前可使用的當地化語系 ( 預設 ) Localizable 決定是否產生此物件的本土化代碼 False -7

.1.4 表單常用的事件 在.NET 的環境中, 我們可以開發 Windows Form 與 Web Form 兩種圖形化使用者介面 (GUI) 的應用程式 當你在整合開發環境的視窗平台上面撰寫 GUI 的應用程式,GUI 的程式碼都是透過事件與使用者互動 我們將使用者所操作的每一個動作都視為 事件, 事件會被作業系統所攔截, 並傳遞給應用程式的處理程序來處理 傳統 DOS 作業系統下所設計出來的程式都會按照既定流程執行, 下次執行亦是如此, 在 Windows 作業系統下的程式則採用事件驅動 (Event-Driven) 的觀念 所謂事件驅動, 是指程式執行時, 程式會不斷地等待操作者觸發事件, 再根據系統所判斷出的事件, 執行該事件處理程序內所撰寫的程式碼, 由於程式執行時的流程是由操作者決定, 因此每次執行流程未必一樣 有如玩電動遊戲每次出現的場景會因操作方式的不同, 而有不同的流程 至於觸發事件的來源有很多, 譬如 : 在按鈕上按滑鼠左鍵一下, 在文字方塊內輸入資料或資料被改變 在清單中選取某項目 在鍵盤按一下等都會觸發事件 因為事件驅動較符合使用者的習慣且和系統連結部份廠商已設計好, 程式設計人員不用費心, 只要專注於觸發該事件應撰寫的程式碼, 可減輕開發程式的時間, 所以已成為目前程式語言的主流 當一個表單被開啟時, 會按照操作者的動作陸續觸動表單上各物件所提供的事件, 但要注意各物件所提供的事件是不盡相同的 下列將介紹有關表單一些常用的事件 : 事件 Click Load Resize Activated Paint 說明 當在表單中沒放置控制項的地方按一下滑鼠左鍵, 就會執行放在表單 Click 事件處理程序內的程式區段一次 當表單第一次載入開啟時, 會執行放在此事件處理程序內的程式碼一次 一直到表單關閉都不會再執行 一般用來設定一些變數或屬性的初值 當你調整表單的大小時, 會執行放在此事件處理程序內的程式碼一次 表單第一次載入時, 此事件緊跟在 Load 事件後面被執行一次 若程式執行時, 有 Form1 Form2 兩個表單同時被打開, 而 Form2 疊在 Form1 的下面, 當點選 Form2 時, 會將 Form2 放到 Form1 的上面, 此時 Form2 變成作用表單時, 此過程會執行 Form2 的 Activated 事件處理程序一次 因此此事件處理程序在程式中不只執行一次 若 Form1 遮住 Form2 時, 當 Form1 移走時, 會執行放在 Form2 的 Paint 事件處理程序內的程式區段一次 -8

表單與基礎控制項 CHAPTER.2 Label 標籤控制項 Label 標籤控制項是設計輸出入介面時最常用的工具之一 譬如在表單上, 對輸入的文字給予提示訊息 將執行的中間結果或最後結果顯示在表單上, 都是最佳的使用時機 由於 Label 控制項不像 TextBox 控制項可以在該控制項鍵入資料, 只能顯示無法修改, 因此許多控制項都需藉助 Label 控制項來當提示說明或顯示結果 當你在工具箱 通用控制項 的標籤工具上按一下選取, 接著移動滑鼠到表單指定位置壓滑鼠左鍵並拖曳拉出標籤控制項的大小, 便可在表單上建立物件名稱為 Label1 控制項 當然您也可以直接在工具上快按兩下, 會在表單的左上角顯示 Label1 控制項, 接著使用滑鼠拖曳到指定位置, 再調整控制項的大小 若重複在表單建立第二個 Label 控制項, 表單會出現 Label2 控制項依此類推 下表列出 Label 控制項常用屬性說明以及在程式中的寫法, 至於有些和 Form 表單相同的屬性, 不再贅述請參考表單的屬性說明 成員名稱 Name 屬性 ( 預設值 Label1) Text 屬性 ( 預設值 Label1) TextAlign 屬性 說明 為控制項的名稱, 以供程式呼叫使用 ( 所有的控制項都有此屬性, 以後不再列出 ) 用來設定標籤控制項上面所顯示的文字 可以在設計階段直接設定初值或在程式執行中使用下面敘述設定 : Label1.Text = "VB 新境界 " 用來設定文字在控制項內顯示的位置, 共有九種設定方式 : ContentAlignment.TopLeft ContentAlignment.TopCenter ContentAlignment.TopRight ContentAlignment.MiddleLeft ContentAlignment.MiddleCenter ContentAlignment.MiddleRight ContentAlignment.BottomLeft ContentAlignment.BottomCenter ContentAlignment.BottomRight 要注意控制項的大小要比放入的文字大, 較易看出效果 若在程式中將放在 Label1 控制項的文字置於控制項的正中央, 其寫法如下 : Label1.TextAlign=ContentAlignment.MiddleCenter 1 2 4 5 7 8 3 -

AutoSize 屬性 ( 預設 True) ForeColor 屬性 BackColor 屬性 Font 屬性 BorderStyle ( 預設 None) Location 屬性 Dock 屬性 ( 預設值 None) 用來設定控制項的寬度是固定或隨文字長度縮放 True: 控制項隨文字寬度自動調整 False: 控制項寬度固定 注意 AutoSize 屬性只對不做換行的文字標籤控制項有效 欲在程式執行中才設定 Label1 控制項能隨顯示文字長度自動調整其寬度, 其寫法如下 : Label1.AutoSize=True 用來設定標籤控制項上面文字的顏色 程式中設定文字的顏色為紅色, 其寫法如下 : Label1.ForeColor = Color.Red Color 為一個結構, 程式中鍵入 Color. 時會出現顏色下拉清單供您設定顏色 用來設定標籤控制項的背景顏色 下例在程式中設定背景色為黃色 :Label1.BackColor = Color.Yellow 用來設定標籤控制項內文字的相關設定 當您在屬性視窗中選取此屬性, 在出現的圖示上按一下, 打開字型對話方塊供你設定 程式設定 Font 屬性寫法如下 : Label1.Font = New Font(" 全真顏體 ", 24, FontStyle.Underline) 第 1 個引數為字型種類 第 2 個引數為字型大小 第 3 個引數為字型樣式 用來設定控制項四周是否出現框線 提供三種選項 : None: 表示控制項無框線出現 FixedSingle: 表示控制項四周出現單線框 Fixed3D: 表示控制項四周出現立體凹框 若在程式中欲將 Label1 控制項的邊框設成立體凹框, 其寫法如下 : Label1.BorderStyle=BorderStyle.Fixed3D 用來設定此控制項左上角座標和表單左上角的距離 Label1.Location=New Point (X,Y) 當您要指定某個控制項貼齊邊界或是控制項填滿整個表單時使用 測試時最好將 AutoSize 屬性設為 False, 較易分辨 若選 None 表示恢復原狀 若在程式中將放在 Label1 控制項的影像檔置於控制項的適當位置, 其寫法如下 : Label1.Dock = DockStyle.Top ' 此控制項貼齊表單上邊界 Label1.Dock = DockStyle.Botton ' 此控制項貼齊表單下邊界 Label1.Dock = DockStyle.Left ' 此控制項貼齊表單左邊界 Label1.Dock = DockStyle.Right ' 此控制項貼齊表單右邊界 Label1.Dock = DockStyle.Fill ' 填滿整個表單 -10

表單與基礎控制項 CHAPTER Locked 屬性 ( 預設值 False) TabIndex 屬性 FlatStyle 屬性 ( 預設 Standard) Anchor 屬性 ( 預設值 Top,Left) 若為 True, 表示該控制項在設計階段固定在表單上無法搬移以及調整控制項大小 若為 False, 表示該控制項可任意搬移和調整大小 一般表單上的控制項, 若位置已設定完成不再更改, 為避免在編輯階段該控制項被移動, 便可使用此參數來固定 要注意此屬性僅能在設計階段中使用 ; 程式執行階段是無提供此屬性 在表單上連續按鍵, 游標會隨著您在表單建立控制項的順序依序切換 若要改變按鍵時所選取控制項的次序, 表單上控制項的 TabIndex 由 0 開始按照建立先後次序編號, 欲改變選取控制項的次序, 可移動滑鼠到該控制項的 TabIndex 屬性中更改其編號, 若修改時編號有重複是無法更改 在執行階段時按鍵無法對 Label 和 PictureBox 控制項產生作用 程式執行階段欲取得 TextBox1 控制項的索引編號, 將其索引編號於 Label1 控制項中顯示, 其寫法如下 : Label1.Text=TextBox1.TabIndex.ToString() 在 Visual Studio 2010(Visual Basic 2010 Express 無此功能 ) 可透過功能表的 [ 檢視 (V)/ 定位順序 (B)] 命令來更改控制項的索引編號, 更改完畢再執行功能表的 [ 檢視 (V)/ 定位順序 (B)] 命令一次即可 用來設定當滑鼠經過該控制項時和按一下時控制項的顯示方式 其設定值如下 : Flat: 控制項是平面的 Popup: 控制項先顯示平面, 一直到滑鼠移至該控制項的上面, 控制項才變成 3D 顯示 Standard: 控制項為 3D 顯示 ( 預設值 ) System: 控制項的外觀是由使用者的作業系統決定 若欲在程式中, 當滑鼠越過 Label1 控制項上面時, 以 Popup 方式顯示, 其寫法如下 : Label1.FlatStyle=FlatStyle.Popup 當您希望表單上某個控制項, 在執行時不會因表單大小的調整而影響到該控制項與表單某個邊界所設定的間距時使用 譬如在左下圖移動滑鼠選取左邊界和上邊界, 此時表單上 Label 控制項和左邊界和上邊界的間距便被固定住, 執行時不管表單如何縮放,Label 控制項與表單左邊界和上邊界的間距都保持不變, 但下邊界和右邊界則可調整 若四個方向如右下圖都被選取, 控制項和表單四周保持固定間距, 因此控制項會隨表單的大小縮放 -11

ImageAlign 屬性 ( 預設值 MiddleCenter) ImageList/ ImageIndex 屬性 ( 預設值無 ) 當 Image 屬性有放入影像檔時,ImageAlign 屬性才有效 用來設定影像檔放在此控制項的位置 和 TextAlign 屬性一樣共有九種放置方式 但要注意控制項的大小要比放入的影像檔大, 效果較易看出 若在程式中欲將放在 Label1 控制項的影像檔置於控制項的正中央, 其寫法如下 : Label1.ImageAlign=ContentAlignment.MiddleCenter 當你有使用工具箱的 影像清單工具, 將此控制項置 入表單中, 而且在此 ImageList 控制項的 Images 屬性有設定多個 影像檔置入影像清單中, 此時選取 Label 控制項中的 ImageList 屬 性, 按 下拉鈕選取該影像清單控制項名稱, 此時便可以透過 Label 控制項的 ImageIndex 屬性的 下拉鈕, 來選取影像檔清單 中某個影像檔放入 Label 控制項內, 接著再使用 ImageAlign 屬性 來調整該影像在控制項中的位置 以上是在程式設計階段將 ImageList1 控制項設定給 Label1 控制項的 ImageList 和 ImageIndex 屬性, 當然也可由程式中來設定, 其寫法如下 ( 至於有關影像清單 控制項的建立, 請參考第十一章有詳述 ) : ' 將 ImageList1 控制項指定給 Label1 控制項 Label1.ImageList = ImageList1 ' 將 ImageList1 影像清單中索引編號為 2 的圖檔置入 Label1 控制項內 Label1.ImageIndex = 2 :FormDemo.sln 表單載入時會觸動 Load 事件, 此事件的動作希望將表單的背景色改為紅色, 表單上面標籤控制項字體大小設為 14 且上面顯示 " 表單載入時 " 訊息 ; 若在表單按一下會觸動表單的 Click 事件, 此事件的動作將表單的背景色由原來的紅色變為黃色, 並在標籤控制項上顯示 " 按一下表單 " 訊息 ; 若在表單按兩下會觸動表單的 DoubleClick 事件, 此事件的動作將表單的背景色設為淺藍色, 並在標籤控制項上顯示 " 按兩下表單 " 訊息 執行結果如下三圖 : -12

表單與基礎控制項 CHAPTER 執行結果 表單載入時 按一下表單時 按兩下表單時 操作步驟 Step 01 新增 Windows Form 應用程式 專案, 專案名稱為 FormDemo, 儲存路徑為 C:\vb2010\ch0 Step 02 將工具箱的工具放入 Form1 表單內, 使 Form1 表單內新增一個物件名稱 (Name) 為 Label1 的標籤控制項 (Name=Label1) Step 03 我們希望 Form1 表單載入時 Label1 標籤字體大小能設為 14,Text 屬性設為 " 表單載入時 ",Form1 表單背景色彩設為紅色, 因此上面程式的設定必須撰寫在 Form1_Load 事件處理程序內 請依下列步驟在 Form1_ Load 事件處理程序內撰寫相關的程式碼 -13

1 選取 Form1 表單 2 3 在 Load 事件快按滑鼠兩下 4 在 Form1_Load 內輸入程式碼 Step 04 重複 Step03 依序在 Form1 的 Click 及 DoubleClick 事件處理程序內撰寫程式碼 完整程式碼如下 : FileName:Form1.vb 01 Public Class Form1 02 03 ' 表單載入時執行 04 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles MyBase.Load 05 Label1.Text = " 表單載入時..." 06 Label1.Font = New Font(" 細明體 ", 14, FontStyle.Regular) 07 ' Me 為目前表單 08 Me.BackColor = Color.Red ' 表單背景色彩為紅色 0 End Sub 10 11 ' 按一下表單時執行 -14

表單與基礎控制項 12 Private Sub Form1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles MyBase.Click 13 Label1.Text = " 按一下表單..." 14 Me.BackColor = Color.Yellow ' 表單背景色彩為黃色 15 End Sub 16 17 ' 按兩下表單時執行 18 Private Sub Form1_DoubleClick(ByVal sender As System.Object, ByVal e _ As System.EventArgs) Handles MyBase.DoubleClick 1 Label1.Text = " 按兩下表單..." 20 Me.BackColor = Color.Aqua ' 表單背景色彩為淺藍色 21 End Sub 22 23 End Class CHAPTER.3 LinkLabel 連結標籤控制項 連結標籤 (LinkLabel) 控制項是標籤 (Label) 控制項的延伸 除了具有標籤的屬性外, 還增加多個有關網頁超連結的屬性, 讓您很輕易地在 Windows Form 上建立 Web-Style Links 所謂 Web-Style Link 即是瀏覽網頁常看到的文字超連結( 藍色加底線 ) 或圖形超連結 當您移動滑鼠到網頁的文字超連結或圖形超連結上時會出現手指狀, 此時按下滑鼠左鍵再放開滑鼠按鍵文字都會變色, 螢幕會切換到指定超連結的地方去執行 由於工具箱中提供工具, 讓您很輕易且快速地在表單上建立連結標籤控制項 由於 LinkLabel 控制項大部分屬性和 Label 相同, 我們將不再贅述, 本節只介紹該控制項有關的成員, 說明如下 : 成員名稱 Text 屬性 ( 預設值 LinkLabel1) LinkColor 屬性 ( 預設值為藍色 ) 說明 用來存放超連結文字 一般都以網站的中文或英文名稱當超連結文字 若此屬性為空白則無超連結效果 設定未發生超連結之前的文字顏色 -15

LinkVisited 屬性 ( 預設值為 False) ActiveLinkColor 屬性 ( 預設值紅色 ) VisitedLinkColor 屬性 ( 預設值紫色 ) LinkBehavior 屬性 LinkArea 屬性 ( 預設值整個字串 ) 用來設定是否將超連結過 ( 已瀏覽過 ) 的文字變色, 以和未超連結過的文字有所區隔 若設為 True 表示會變色, 至於瀏覽過文字的顏色是由 VisitedLinkColor 屬性來設定 若設為 False, 表示不變色 要注意, 此屬性設為 True 時要配合 VisitedLinkColor 屬性一起使用 當使用者在超連結文字上按一下滑鼠左鍵未放開時所指定的顏色 當使用者在超連結文字上按一下再放開滑鼠時所指定的顏色 當 LinkVisited=True 時, 此屬性才有效 設定超連結標籤是否要加底線 用來設定文字超連結的範圍 也就是說, 當欲超連結的文字不是整個字串而是部份字串時才使用 表單上 LinkLabel 控制項上所顯示的文字超連結的字串是存放在此控制項的 Text 屬性中 若只要做部分字串超連結, 在 LinkArea 屬性中會先顯示 Text 屬性中的整個字串, 此時在 LinkArea 屬性欄中按鈕, 再由出現的 LinkArea 編輯器 對話方塊中反白欲做超連結的文字, 完成後在表單上未做文字超連結的字串會以黑色顯示, 設成超連結的字串會以預設的藍色加底線顯示 譬如反白 碁峰, 設定完成只有 碁峰 變成藍色加底線有連結功能 : LinkClicked 事件 上面設定程式寫法如下 : LinkLabel1.Text=" 碁峰資訊股份有限公司 " LinkLabel1.LinkArea=New LinkArea(0, 2) ' " 碁峰 " 有連結功能 當使用者在超連結文字上按一下即觸動此事件 如果在此事件處理程序內想要連結到指定的 URL, 可使用下列敘述 : Process.Start("URL 位址 ") -16

表單與基礎控制項 CHAPTER.4 ToolTip 提示控制項 當您移動滑鼠游標到下圖 VB 整合開發環境視窗的標準工具列的存檔圖示上停留一會兒, 會出現一個小方框提示訊息, 用來提供簡短文字說明給該圖示, 我們將這個文字小方框稱為 ToolTip 在工具箱的工具提示工具, 讓您很輕易地在表單上某個控制項產生 ToolTip ToolTip 工具提示控制項和一般的控制項不一樣, 當在表單上拉出 ToolTip1 控制項時, 除了 ToolTip 本身所擁有的屬性外, 還自動在表單上每個控制項的屬性視窗中新增一個 在 ToolTip1 上的 ToolTip 屬性, 這個新增的屬性就是讓您來存放該控制項的 ToolTip 的文字內容 若想讓滑鼠移到鈕時即出現提示訊息, 其做法如下 : 2 1 3 執行程式後滑鼠碰到該鈕即出現 ToolTip -17

下表為 ToolTip 常用成員 : 成員名稱 Active 屬性 ( 預設 True) AutoMaticDelay 屬性 ( 預設 500 毫秒 ) AutoPopDelay 屬性 ( 預設 5000 毫秒 ) InitialDelay 屬性 ( 預設 True) 說明 若設為 True 表示該控制項的工具提示有作用 ; 若要停用工具提示將 Active 屬性設為 False 用來設定或取得工具提示延遲多久 ( 單位 : 毫秒 ) 才出現的時間 用來設定和取得工具提示保持出現的時間 ( 單位 : 毫秒 ) 用來設定和取得工具提示出現前所經過的時間 設定工具提示是否使用汽球的形式 如下圖 : IsBalloon 屬性 ( 預設 False) ReShowDelay 屬性 ( 預設 100 毫秒 ) ShowAlways 屬性 ( 預設 False) BackColor 屬性 ForeColor 屬性 ToolTipTitle 屬性 ToolTipIcon 屬性 UseAnimation 屬性 ( 預設 True) UseFading 屬性 ( 預設 True) SetToolTip 方法 用來設定和取得當滑鼠由一個控制項移到另一個控制項, 在下一個工具提示出現之前所經過的時間 True 表示讓工具提示控制項都會顯示, 不管表單或容器是否有作用都能使用工具提示 用來設定和取得工具提示的背景色 用來設定和取得工具提示的前景色 用來設定和取得工具提示的標題 用來設定和取得工具提示的 Icon 圖示 其寫法如下 : 1ToolTip1.ToolTipIcon=ToolTipIcon.None 2ToolTip1.ToolTipIcon=ToolTipIcon.Error 3ToolTip1.ToolTipIcon=ToolTipIcon.Info ' 無圖示 ' 錯誤圖示 ' 資訊圖示 4ToolTip1.ToolTipIcon=ToolTipIcon.Warning ' 警告圖示 設定工具提示是否使用動畫效果 設定工具提示是否使用淡出效果 用來建立工具提示與控制項之間的關連 譬如 : 欲在程式執行時, 才將工具提示文字 " 這是標籤控制項 " 訊息放入 Label1 控制項, 其寫法如下 : ToolTip1.SetToolTip(Label1, " 這是標籤控制項 ") -18

表單與基礎控制項 CHAPTER RemoveAll 方法 用來移除所有目前與 ToolTip 工具提示控制項相關的工具提示文字 譬如 : 欲在程式執行時, 將工具提示文字移除, 其寫法如下 : ToolTip1.RemoveAll() :ToolTipDemo.sln 使用 LinkLabel 和 ToolTip 製作下面範例 如左下圖, 當滑鼠游標移到 " 碁峰資訊 " 超連結時會顯示 " 碁峰提供好書 " 的工具提示 工具提示標題為 " 碁峰給您快樂學習 " 工具提示使用 Icon 圖示以汽球型式呈現, 若按下此超連結會連結到 http://www.gotop.com.tw 碁峰資訊網站; 如右下圖, 當滑鼠游標移到 " 請聯絡我們 " 超連結時會顯示 " 歡迎讀者來信 " 訊息, 此超連結只有 聯絡 有超連結功能, 按下此連結後, 會開啟 outlook 郵件軟體讓您可以寄發 mail 到 wltasi@yahoo.com.tw 電子信箱 執行結果 滑鼠移到碁峰資訊 滑鼠移到聯絡 操作步驟 Step 01 表單輸出入介面設計 -1

當你使用 TextBox 文字方塊控制項來輸入資料時, 當資料輸入完畢必須按鈕才透過按鈕事件去更新資料, 在操作上不是感到不方便嗎? 在 VB 中控制項有提供 TextChanged 事件, 只要在該控制項上面的資料有異動, 馬上會觸動 TextChanged 事件, 只要在該事件的事件處理程序內寫入要處理的敘述區段, 便可省掉按鈕的動作.6.2 自動完成輸入功能 自動完成輸入功能是當使用者在文字方塊輸入欲篩選的詞句, 接著會由指定的輸入來源篩選出符合條件的資料並自動填入或彈出相符的詞句清單供您選取, 透過自動完成功能可提升使用者操作文字方塊輸入資料的效率 如下圖, 當我們在下圖文字方塊上輸入 C:\Program Files\ 檔案路徑時, 會由 AutoCompleteSource 屬性來指定資料來源, 篩選出在 C:\Program Files\ 資料夾下所有的子資料夾與檔案名稱, 將篩選結果置入彈出的清單供您選取, 如此可提升文字方塊篩選資料的便利性 TextBox 與 ComboBox 控制項同時具備自動完成功能, 兩者用法相同, 關於 ComboBox 控制項請參閱第十章 欲讓 TextBox 擁有自動完成功能, 必須了解 AutoCompleteSource AutoCompleteMode 與 AutoCompleteCustomSource 這三個屬性的用法 : -28

表單與基礎控制項 CHAPTER 一. AutoCompleteSource 屬性 該屬性提供下拉式清單列出的列舉屬性值當做自動完成 ( 即篩選 ) 輸入功能的來源, 此篩選來源包括 :URL 檔案 文字資料等 AutoCompleteSource 常用屬性值說明如下 : 1 HistoryList 以 URL 中的歷史清單做為自動完成輸入功能的來源 如下圖 : 程式寫法 : TextBox1.AutoCompleteSource = AutoCompleteSource.HistoryList -2

2 RecentlyUsedList 以 URL 中的歷史清單和最近瀏覽過的 URL 做為自動完成輸入功能的來源 程式寫法如下 : TextBox1.AutoCompleteSource = AutoCompleteSource.RecentlyUsedList 3 AllUrl 以最近瀏覽過的 URL 做為自動完成輸入功能的來源 程式寫法如下 : TextBox1.AutoCompleteSource = AutoCompleteSource.AllUrl 4 FileSystem 以檔案系統做為自動完成輸入功能的來源 如下圖 : 程式寫法如下 : TextBox1.AutoCompleteSource = AutoCompleteSource.FileSystem 5 FileSystemDirectories 以磁碟和目錄 ( 不包含檔案名稱 ) 做為自動完成輸入功能的來源 程式寫法如下 : TextBox1.AutoCompleteSource = _ AutoCompleteSource.FileSystemDirectories -30

表單與基礎控制項 CHAPTER 6 AllSystemSources 以 AllUrl 和 FileSystem 做為自動完成輸入功能的來源 程式寫法如下 : TextBox1.AutoCompleteSource = _ AutoCompleteSource.AllSystemSources 7 None 取消自動完成輸入功能的來源 程式寫法如下 : TextBox1.AutoCompleteSource = AutoCompleteSource.None 8 CustomSource 以自訂的詞句做為自動完成輸入功能的來源, 當 AutoCompleteSource 設為 CustomeSouce 時, 還必須使用 AutoCompleteCustomeSource 設定自訂詞句 程式寫法如下 : TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource 二. AutoCompleteMode 屬性 此屬性可用來設定自動完成輸入功能的模式, 此屬性值必須設為 Auto CompleteMode 所提供的列舉名稱 -31

AutoCompleteMode 常用屬性值功能說明如下 : 1 Append 將最可能相符之候選字串其餘部分附加到現有字串之後, 並反白顯示附加的字元 如下圖 : 寫法如下 : TextBox1.AutoCompleteMode = AutoCompleteMode.Append 2 Suggest 將篩選字串的結果置入下拉式清單供您選取 如下圖 : 寫法如下 : TextBox1.AutoCompleteMode = AutoCompleteMode.Suggest -32

表單與基礎控制項 CHAPTER 3 SuggestAppend 自動完成輸入功能的模式同時套用 Append 和 Suggest 如下圖 : 寫法如下 : TextBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend 4 None 停用自動完成輸入功能 其程式寫法如下 : TextBox1.AutoCompleteMode = AutoCompleteMode.None 三. AutoCompleteCustomSource 屬性 當 AutoCompleteSource 設為 CustomeSouce 時, 此時我們可以使用 AutoComplete CustomeSource 屬性設定自訂詞句集合 屬性設定方式如下 : 1-33

2 自訂的詞句做為自動完成輸入功能的來源 3 4 程式執行時,TextBox 以自訂的詞句做為自動完成輸入功能的來源 上面操作設定可改成如下寫法, 也可達到相同效果 : ' 建立 address 陣列, 並給予 address(0)~address(3) 陣列元素初值 Dim address() As String = {" 台中市五權五街 100 號 ", _ " 台中市忠明路 100 號 ", _ " 台中市復興路三段 1 號 ", _ " 台中市西屯路二段 10 號 " } ' 建立 myadd 物件屬於 AutoCompleteStringCollection 集合類別 Dim myadd As New AutoCompleteStringCollection() ' 將 address 陣列加入 myadd 物件 myadd.addrange(address) TextBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource ' 以 myadd 內的詞句做為自動完成輸入功能的來源 TextBox1.AutoCompleteCustomSource = myadd -34

表單與基礎控制項 CHAPTER :TextBoxDemo.sln 使用 TextBox 製作自動完成輸入功能 其中住址文字方塊請自訂三個住址做為自動完成輸入之來源, 網站文字方塊使用 URL 歷史清單當做自動完成輸入來源 執行結果如下說明 : 執行結果 1. 住址文字方塊自動完成輸入功能, 如下圖 : 2. 網站文字方塊自動完成輸入功能, 如下圖 : 3. 當輸入公司 住址 網站資料後按下鈕, 馬上顯示對話方塊並顯示您輸入的資料, 如下圖 : VB 欲顯示對話方塊可使用 MsgBox 函式或 MessageBox.Show 方法, 關於 MsgBox 函式或 MessageBox.Show 方法請參閱.8 節 -35