1 / 50

概 論

概 論. 1 - 1 物件導向的程式設計. 1 -4 Visual Studio 共用整合式開發環境的介紹. 1 - 2 相關程式語言簡介. 1 - 5 程式的編譯與執行. 1 -3 .NET Framewor k. 1 - 1 物件導向的程式設計. 人類之所以會是萬物之靈 , 其中一個主要原因是人類可以在錯誤中成

lorne
Download Presentation

概 論

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 概 論 1 - 1 物件導向的程式設計 1 -4 Visual Studio 共用整合式開發環境的介紹 1 - 2 相關程式語言簡介 1 - 5 程式的編譯與執行 1 -3 .NET Framewor k

  2. 1 - 1 物件導向的程式設計 人類之所以會是萬物之靈, 其中一個主要原因是人類可以在錯誤中成 長。物件導向的程式設計 (Object Oriented Programming, OOP) 也是人們在程式語言中逐漸累積的成果, 這個觀念在 1970 年代就已提出, 只是當時時機未到。現在, OOP 則已是所有程式語言的標準配備, 為了說明 OOP 大行其道的原因, 筆者將程式語言的發展分為 3 個時期, 分別是非程序導向、程序導向及物件導向, 說明如下:

  3. 非程序導向 早期的程式語言, 並沒有內儲副程式 (又稱程式庫)。當我們開發新的 應用程式時, 如果某一功能與之前寫過的程式相近, 則會將此段已完成的 程式整段複製, 並稍加修改即可重新加以利用。但是, 這些程式的分身包 括本尊, 自從複製出來以後就開始以各自的方式發展, 結果造成各版本的 差異越來越大, 這些程式很難弄清楚誰複製誰, 彼此之間也難再共用某些 程式碼, 當遇到錯誤, 或欲新增功能時, 更是很難逐一修改所有的程式。 程序導向 為了解決以上程式共用問題, 各編譯器廠商便開始提供一些大家常用 的函式, 比較有規模的軟體設計公司亦會將一些常用的函式集中在一個函式庫, 旗下的軟體產品一律呼叫這些標準的函式庫, 而不是從函式庫複製出來修改, 此即為程序導向的程式設計。

  4. 程序導向與非程序導向相比, 的確解決了程式共用的問題, 但是, 人們 並不以此為自滿, 有些問題還是不夠順暢。例如, 有些函式庫會隨著人們 需求的增加而有不同版本, 當某些函式功能增加時, 我們只好重新取函式 庫的函式加以修改, 並賦與新的名稱。如此日積月累, 我們的函式庫已有 許多函式。這些函式有的功能相近、有的是前後版本不同、有的函式裏的變數來龍去脈不明, 造成使用者的混亂。為了突破以上瓶頸, 於是有物件導向的發展, 以解決以上程序導向的不足。 物件導向 程序導向中的函式, 存有許多解決問題的函式 (函式在目前的物件導 向中另稱為方法), 它是偏重在方法的解決。但是, 人類的生活方式不僅是 單純的行為描述, 更存在著屬性的記載。例如, 當我們描述一個人時, 我們 通常描述如下:"他的名字是洪國勝, 身高 172、體重 70, 具有滾進、游泳 及跑步的能力"; 又例如描述一輛車子時, 其描述如下:" 它的名字是 SENTRA, 排氣量是 1600 c.c., 耗油量是每公里 0.1 公升, 且具有每小時 120 公里的移動能力"。以上人與車即稱為"物件", 名字、身高、排氣量則稱 為" 屬性", 而滾進、游泳、跑步、移動則稱為" 方法" 。既然真實世界是 以物件描述物種, 程式設計亦不應侷限在狹隘的函式, 僅偏重解決問題的 方法, 而是應以物件的宏觀角度撰寫程式。所以, 基於物件導向的新觀念, 程式開發工具即製訂一種新的型別, 此型別稱為類別。

  5. 每一類別都有屬於自己的方法, 也就是我們已將眾多的函式依照類別 存放, 如此可解決目前日益龐大的函式命名與函式取用的困擾, 就如同自 然界是以界、門、綱、目、科、屬及種等作為物種的分類。例如, 程序導 向的時代, 關於開門的函式即有電梯開門、汽車開門、房子開門等數種開 門的方法, 如此徒增命名與取用的困擾。但在物件導向的領域裏, 開門這 個方法是附在相對應的類別裏。例如, 於電梯類別裏有電梯的開門, 汽車 類別有汽車的開門, 房子類別裏有房子的開門方法, 大家的方法名稱都叫 "開門", 撰寫程式時也是電梯.開門, 汽車.開門, 或是房子.開門 (物件與方 法、屬性之間以點 (.) 運算子連結), 如此既可簡化程式的撰寫, 亦可減少程 式出錯的機會。但是, 在程序導向的領域裏, 所有的函式都集中, 就有可能 用錯方法。例如, 用開電梯門的方法去開汽車的門, 結果當然是錯的。 類別的變數即稱為物件, 物件亦稱為類別的實現或類別的樣例化(Instance)。也就是說, 類別就像是一個酒瓶或機器人的模型, 在這些模型裏面已設計好他所具備的屬性與方法, 當您需要酒瓶或機器人時, 只要依照這些模型樣例一個或多個酒瓶或機器人即可。其次, 物件導向亦提出了三個觀念, 分別是物件的封裝 (Encapsulation) 、繼承 (Inheritance) 及多型(Polymorphism), 以解決程序導向的不足。

  6. 封裝 軟體科技的開發與其它的工業, 如汽車、電視、收音機等機械、電子產 品相較, 可說是起步較晚的領域, 在汽車、電視及收音機等產品上, 我們發現 這些產品很重視物件的封裝。例如, 以電視機而言, 我們發現內部有許多零 件與開關, 對於電視製造商而言, 它們使用機殼將這些零件與開關"封裝"起 來, 才能避免使用者任意破壞, 只留下部份開關與螢幕讓使用者欣賞節目。 軟體程式的開發何嘗不應如此呢?所以對於類別的規劃, 我們亦應重視所有 方法、欄位及屬性封裝, 使得這些成員有不同的封裝等級, 以避免主程式與 類別庫之間的干擾。就如同電視機或汽車的一些開關與旋鈕, 有些是開放給 一般的使用者調整, 有的是讓維修工程師調整, 有些則永遠不讓任何人調整。 繼承 任何新產品的開發, 均不是無中生有, 而是從舊有的產品中繼承某些 特性, 再加入新的零件或修改部份零件而成一項新的產品。例如, SENTRA 180 正是繼承 NEW SENTRA 而來, 只是排氣量提高了、內裝豪華了, 但是 原來的輪胎、方向盤及座椅還是用原來 NEW SENTRA 的東西, 這就是繼 承的道理, 使得新產品的開發得以縮短時程。軟體的開發何嘗不應如此? 繼承的另一優點是同一方法得以讓數個新舊版本同時存在。因為當你有新 產品時, 你不可能同時讓你的新舊客戶同時更新, 所以您必須讓這些不同 的版本同時存在, 以滿足不同的產品需求。

  7. 多形 多形 (Polymorphism) 有些書譯成同名譯式, 它的原文是希臘文, 意思是 說, 一種樣式有多種表現的方式。例如, 你有一個僕人專門幫你開門, 那麼 不論這門是內推, 外拉或向旁邊推, 你都是下同一指令" 開門", 然後你的 僕人即會依照門的結構而完成開門的動作。物件導向的程式設計亦發揚此 理念, 讓程式設計師於程式設計階段使用相同的指令, 而編譯器能於執行 階段依據不同的需求, 執行不同的程式片段, 此即為多型。C# 物件導向的 多型表現, 分別是多載 (Overloading) 、改寫 (Overriding) 及介面 (Interface)。

  8. 1 - 2 相關程式語言簡介 目前常見的高階程式語言有 Basic/QBasic/Visual Basic、FORTRAN 、 COBOL 、Pascal/Delphi 、C/C++、Java, 本節將簡單介紹以上語言。 Basic Basic 是 Beginer's All Purpose Symbolic Instruction Code 的縮寫, 是 1964 年 發展出來的高階語言, 意思是一種多用途 (不限商用或工程用) 的初學者符 號式指令語言, 其特徵是有行號、易學及直譯式的執行方式。什麼是直譯 式的執行方式?所謂直譯式執行, 就是程式一面翻譯成機器碼, 一面執行, 其優點就是使用的親和性高。什麼是使用親和性高呢?因為程式一面翻譯 時, 遇有錯誤就告訴使用者, 但編譯式的程式語言, 則要等全部的程式均無 誤後才能有執行結果。除了 Basic 外, 幾乎所有的程式語言都是先完成編 譯再執行, 其優點是執行效率較高。Basic 是古老的程式語言中較受廠商 與使用者青睞的語言, 早期的 Basic 無法顯示中文, 倚天公司的 ETBasic 則 提供處理中文的能力。

  9. QBas i c 早期的 Basic 結構化指令並不完善, 所寫起程式來, 都是 Goto 來 Goto 去, 後來的人稱這一類的程式像一碗通心麵。Basic 的後續版本為 QBasic, QBasic 和 Basic 的差異在於原來的 Basic 加上一些結構化的 While...Wend 及Do...Loop 等指令, 使得程式符合結構化的要求; 同時 QBasic 亦增加整合的編輯環境, 可在同一環境編輯、編譯及執行程式。

  10. Visual Basic QBasic 的優點是解決結構化的問題, 但一切程式均要從零開始, 就像 蓋房子要在現場拌水泥作窗戶與門一樣辛苦, 所以 1990 年代有 Visual Basic的出現, Visual Basic 在原結構化條件下增加物件導向的觀念及視覺化元件。 簡單的說就是有很多現成的元件可供使用, 就像現代人蓋房子, 不用 在現場拌水泥與製作窗戶, 只要利用現成的水泥、門窗及衛浴等元件就可 以輕鬆的完成高樓大廈, 當然程式設計者也可以作元件供自己或他人使 用。Visual Basic 同時提供編譯程式給使用者, 待使用者於解譯無誤後使用,如此可以提昇程式的執行速度。Visual Basic 的優點是容錯能力比較強, 此一特性必然造成編譯與執行的負擔, 因而減緩執行速度。

  11. FORTRAN FORTRAN (FORmula TRANslation) 是 1995 年發表的程式語言, 它著重 在工程的運算, 民國七十年代的大學工科學生大多使用這種語言作為程式 設計的工具, 當時微電腦並不普及 (所以當然沒有鍵盤), 所有的指令均要 在卡片 (此種卡片與聯考作答的卡片類似) 打孔, 再交由計算機中心的小姐 放入電腦主機執行, 執行結果統一列印於報表紙, 再由小姐每天二至三次 放在外面各班的信箱, 可惜筆者沒這麼老, 所以無法體會其辛勞, 目前約 50 年次以上的人才會有這種經驗。之後, 微電腦普及, 當然也可在家學 FORTRAN, 但隨著週邊設備的複雜化, 此種語言已不符時代潮流, 現已幾 乎消聲匿跡。 COBOL COBOL (Common Businese Oriented Language) 是 1959 年所發表的商用 程式語言, 也是民國七、八十年間商科學生學習程式語言的工具, 其特徵是變數又臭又長, 當然程式也很冗長, 使用這種語言必須有極快的打字速度, 現在除了一些銀行還在使用此種語言外, 也是漸漸走入歷史。

  12. Pascal/Delphi Pascal 是於 1968 年, 由 Niklaus Wirth 所研發及發表的程式語言, 這個語言一直給人學院派的印象, 直到 1984 年個人電腦逐漸流行, Borland 公司推出 PC 上的 Pascal 編譯器, 其名稱為 Turbo Pascal, 當時亦是 Pascal 最紅的年代。但是, 隨著微軟視窗軟體的大行其道, Turbo Pascal 的最後版本是Borland Pascal 7.01 。 1995 年, 微軟的 VB 已如日中天, Borland 公司為了扭轉 Pascal 的頹勢,所以另外開發 Delphi 1.0, 它是繼承 Pascal 語法、並加入物件導向及視覺化輸出入元件的一種快速應用程式開發工具 (Rapid Application Development,以下簡稱 RAD), Borland 並希望此軟體能與微軟的 VB 一較長短。

  13. C 語言 C 語言是 1972 年所發表的程式語言。環顧當時的高階語言 Basic 、 FORTRAN 及 COBOL 等, 其優點就是具有高階語言的親和性, 其缺點則都 是執行效率遠遠落後組合語言。所以, 當時的貝爾實驗室乃改進 Pascal 的 語法, 使之更簡捷, 且加入指標型態直接存取記憶體而大大提昇程式的執 行效率。雖然執行效率仍無法與組合語言相比, 但其具有高階語言的親和 性, 以使它逐漸取代組合語言。著名的 Unix 作業系統, 絕大部份是由 C 寫 成, 也是第一個利用高階語言撰寫而成的作業系統。 C++ C++ 於 1980 年由貝爾實驗室所發表, 是一種繼承 C 語言的編譯程 式 (所謂繼承就是新創的語言要能讓原有的程式都順利執行), 它的創新之處是加上物件導向的設計觀念 ---- 類別與物件。關於物件導向, 請看本書第九章。

  14. Microsoft Visual C++ Microsoft Visual C++ 是微軟公司針對 C++語言所發展的編譯程式, 它 的特色是從原有的 C++增加以下工具, 諸如 MFC (Microsoft Foundation Class) 、OLE (Object Linking and Embedding) 、ODBC (Open DataBase Connectivity) 、DAO (Data Access Object)、ActiveX、COM (Component Object Model) 等 微軟大力行銷的程式設計工具。 Borland C++ Builder C++ Builder 是 Borland 公司針對 C++所發展的快速應用程式開發工具 (Rapid Application Development, RAD)。什麼是快速應用程式開發工具?那是因為 Borland 將原有的 C++加入許多視覺化元件 (Visual Component Library,VCL), 微軟的 Visual Basic 則稱為控制項 (Control), 但不管是 Component 或Control, 它們都是類別的封裝, 這些現成的元件使得程式設計不再是從零開始, 而是從現有的類別出發, 就像積體電路的設計, 也是從現有的 IC 組合更多更大的電路, 這也是目前軟體業所大力倡導的軟體 IC 觀念。

  15. J a v a 前面的 C++與 Delphi 雖然都是稱為物件導向的程式語言, 但卻都是 在程序導向的架構下新增物件導向的觀念, 例如, C++ 與 Delphi 都重新開 發一套類別庫以符合物件導向的精神, 但為了維持舊有程式的相容性, 所 以亦保留了原有的函式庫。此種向下相容的特性, 難免綁手綁腳而犧牲執 行效率。但是, Java 則是完全以物件導向為基礎所開發的程式語言, 其最 大特色是可跨平台的編譯程式, 所謂跨平台是指使用 Java 編寫的目的程 式, 可不經任何修改直接在不同的作業系統執行, 例如在 Windows 所編寫 的 Java 程式碼, 亦可在麥金塔或 Linux 上直接執行, 目前較流行的 Java 編譯 程式有 Sun 的 JDK、Microsoft 的 J#及 Borland 的 JBuilder。

  16. 1 -3 .NET Framewor k .NET Framework 的簡要架構如下圖所示, 它的目標是要讓所有的程 式語言有相同的執行環境及共用基礎類別庫。

  17. 共通語言規範 (Common Language Specification) 目前支援 .NET Framework 的程式語言有 C# 、VB 、C++、Pascal、 Cobol 、Perl 、Fortran 及 J# 等約 25 種語言, 程式開發人員可以使用以上 語言來撰寫自己的應用程式, 但是彼此必須遵守共通語言規範。在共通語 言的規範下, 所有遵守此規範的程式語言都可以轉換為與平台無關的中介 語言。為了要遵守共通語言規範, 每個語言都必須有所調整。例如, Visual Basic 的變數宣告與使用方式即有很大的改變。 基礎類別庫 物件導向的程式設計已將所有的函式分類存放, 形成所謂的類別庫, 但 是所有的程式語言都必須撰寫自己的類別庫, 如此造成軟體開發及使用者 的負擔。.NET Framework 即統一了所有語言的類別庫, 如此即可減輕程式 設計師的負擔。

  18. 共同的語言執行環境 .NET Framework 提供了類似 Java 的虛擬機器, 其共同的語言執行環境 如下圖所示。

  19. Portable Executable (PE) File 只要是支援.NET Framework 的語言, 都有屬於自己的編譯器翻譯成一 種與機器平台無關的可攜式執行檔 (Portable Executable File), 其附屬檔 名是 EXE 或 DLL 。此種檔案包含 Intermediate Language Code 與 Metadata。 Just In Time Compiler Portable Executable File 並不是可執行的檔案, 它只是一個與機器無關的中介語言 (Intermediate Language, IL), 等到在機器平台上第一次執行時,再由 Just In Time (JIT) 編譯器將中介語言編譯成該機器平台的原生碼(Native Code), 如此運作方式, 讓跨平台得以實現。

  20. 1 -4 Visual Studio 共用整合式開發環境的介紹 Visual Studio 建立了一個適合所有語言的共用整合式開發環境, 此開 發環境可以讓您使用單一視窗來處理大多數的開發工作。在整合式開發環 境裡頭, 您可以建立、編輯、管理檔案與專案, 以視覺化的方式設計使用 者介面, 並且編譯、除錯與執行您的應用程式, 下圖即是共用整合式開發 環境的畫面。

  21. 功能表 功能表如下圖, 每一選單均有若干選項, 請讀者自行瀏覽。 工具列 將功能表中若干常用功能做成工具圖項, 方便使用者點選, 稱為工具 列。如下圖所示, 滑鼠指標所指的圖項, 為偵錯程式的開始圖項。

  22. 方案總管 方案總管如右圖, 它顯示目前方案當中的專 案以及對應的檔案與目錄。在St u d i o 中方案 (Solution) 是由一至數個專案 (Project) 組成, 一個專 案則可能由一至數個檔案組成, 這些檔案可以是表 單檔、原始程式檔、類別、參考或資料連接等檔 案。程式設計者可在此按二下任意檔案, 取得檔 案內容。 工具箱 工具箱如右圖, 它是提供各項輸出入元 件的地方。程式開發者可由工具箱中選擇欲 使用的元件拖曳至表單上, 表單上即會自動產 生該項元件, 如此可大大地提高了程式開發的 效率。

  23. 其次, 為了節 省空間與記憶體, 有 些控制項並沒有一 起顯示, 使用者可點 選工具箱快顯功能 表的「選擇項目」, 畫面如右圖, 並點 選所需控制項或元 件。

  24. 伺服器總管 伺服器總管如右圖, 它可以幫助程式設計人 員連接到伺服器, 來檢視及操作他們的資源。例 如右圖中, 即建立了一個資料庫連線, 來協助資 料庫程式的開發。 表單設計頁籤 如右圖所示, 當新增 Windows 應用程式時, 便會 產生一個表單設計頁籤, 程 式設計者可利用此表單作 基礎, 於其上放置各項輸出 入控制項或元件, 以所見即 所得的方式, 快速建立使用 者介面。

  25. 程式編輯頁籤 按一下功能表的“ 檢視/程式碼” 選項或 功能鍵, 即可進入程式 編輯頁籤, 如下圖所示, 程式設計者可在此編輯所要鍵入的程式。 屬性編輯視窗 屬性編輯視窗可觀察或設定所選控制項的所有屬性及事件。如下圖 左是屬性編輯視窗的屬性模式, 下圖右是按一下 鈕後的事件模式, 若欲再切換回屬性模式可按一下 鈕。

  26. 輸出窗格 輸出窗格如下圖, 其功能為編譯專案時可輸出一些錯誤的訊息。

  27. 1 - 5 程式的編譯與執行 本書的程式可分為兩類, 第一種是在 DOS 視窗下執行的主控台應用 程式; 第二種是在 Windows 平台中執行的 Windows 應用程式。由於此兩類的應用程式其編譯與執行的方式並不相同, 故本節將分別介紹此兩類應用程式的設計步驟。

  28. 主控台應用程式 (Console Applicat ion) 主控台應用程式是一種 DOS 視窗的應用程式, 不論是程式的執行, 或 輸入與輸出的介面, 都必須在 DOS 視窗下進行; 其優點是程式輕巧, 執行 速度快, 其缺點是其使用者介面過於呆板單調, 不具親和力。本書前面的 章節主要是著重於 C#語法的介紹、程式邏輯的思考及物件導向的觀念, 所 以大部分程式都是以主控台應用程式來開發。以下先以一簡單程式, 來說 明主控台應用程式的設計步驟。

  29. 範例 1-5a 請以主控台應用程式, 將使用者輸入之值平方後輸出。 操作步驟 1 . 開新檔案 (1) 按一下功能表的"檔案/新增/專案", 畫面會出現新增專案視窗, 如右圖所示。

  30. (2) 於上圖視窗中, 專案類型請點選"Windows", 範本請選取"主控台應 用程式“, 名稱鍵入”e1-5a“, 位置點選”C:\CsBook\ch01“。 (3) 按一下確定鈕, 即完成新專案的建立, 此時 C# 會建立一個包含基 本程式框架的 Class.cs 檔案, 畫面如下圖所示。

  31. 2 . 撰寫程式 (1) 請將以下程式碼鍵入 Class1.cs 的 Main 方法中, 如下圖所示。英文 字母大小寫應一致, C# 的大小寫視為不同, 且每一敘述均應以分 號 (;) 作為結束, 而雙斜線 (//) 之後的視為註解, 編譯器不予處理。 (2) 程式若有任何編譯錯誤, 皆可於錯誤清單呈現, 如下圖: 此時請於錯誤清單一一使用按兩下的方式至程式編輯視窗排除。

  32. 3 . 偵錯程式 (1) 按一下功能表" 偵錯/開始偵錯”, 或工具列的"開始偵錯"按鈕, 皆可偵錯程式。若程式編譯無誤便可得下圖左 DOS 執行視窗, 此時請依螢幕訊息輸入一整數 (本例輸入 4 ), 按 鍵後程式即 輸出其平方值, 畫面如下圖右。 (2) 若程式有錯誤, 則於編譯時會出現如下圖的訊息視窗, 此時請按" 否"停止程式編譯, 並查看"錯誤清單"窗格中的訊息。例如, 在 本例中的第 15 行程式碼, console 未大寫開頭, 下圖右的工作窗格 中即顯示該項訊息, 以利程式偵錯。

  33. 4. 執行程式 按一下功能表的 " 偵錯 / 啟動但不偵錯 ", 即可觀察執行結果。 5 . 存檔 (1) 按一下功能表的"檔案/全部儲存", 可將專案中所有修改過的檔 案全部儲存。

  34. 程式列印 本例 Program.cs 全部程式列印如下。

  35. Windows 應用程式 (Windows Application) 由於 Windows 作業系統的盛行, Windows 的應用程式已成為程式開發 的主流, 此類應用程式由於具有豐富及友善的圖形介面, 使其深受使用者 青睞。但就另一方面來說, 它也增加了程式的複雜度, 加重程式設計者的 負擔。所幸目前大部分的應用程式開發工具皆備有許多輸出入控制項供程 式設計者使用, Visual Studio 亦不例外。利用這種具有輸出入控制項的開 發工具, 程式設計者不再是從無到有逐一鍵入程式, 而是如同堆積木的方 式, 快速建構程式。此種開發工具的程式設計步驟如下:

  36. 1 . 安排輸出入控制項於表單適當位置。 2 . 設定各控制項的屬性初值。 3 . 撰寫各事件處理函式。 4 . 執行程式。 5 . 除錯。 6 . 存檔。

  37. 範例 1-5b 同範例 1-5a, 但改用 Windows 應用程式來完成。 操作步驟 1 . 開啟新專案 (1) 按一下功能表的"檔案/新增/專案", 畫面會出現新增專案視窗, 如下圖所示。

  38. (2) 於上圖視窗中, 專案類型請點選"Windows", 範本請選取"Windows 應用程式", 名稱鍵入"e1-5b", 位置點選"C:\CsBook\ch01" 。 (3) 按一下確定鈕, 即完成新專案的建立, 此時 C#會建立一空白表單, 如下圖左所示。 2 . 調整表單大小 (1) 請用滑鼠左鍵拖曳表單邊緣來改變表單大小, 如下圖左, 並觀察 Form1 物件的 Size 屬性變化, 如下圖右。

  39. (2) 請於屬性視窗重設 Size 屬性的大小, 並觀察表單變化。 (3) 請觀察其 Name 與Text 屬性值。 • 3 . 安排輸入提示標籤盒, 此標籤盒顯示“ 請輸入一整數”, 其功能為提示使用者該輸入什麼東西給電腦處理。 • 請點選表單左邊的工具箱標籤, 此時會彈出一視窗, 如下圖左。 • (2) 請於 Label 圖項按二下, Label 元件即自動出現於表單上, 其 Name • 和 Text 屬性預設為 label1。

  40. (3) 調整 Label1 位置。 直接拖曳 label1 至適當位置, 如下圖右。 (4) 重設屬性 Text 為"請輸入一整數", 如下圖左。 此時表單上 label1 物件顯示的文字亦會改變, 如下圖右。

  41. 4 . 安排輸出提示標籤盒, 此標籤盒顯示內容為“ 其平方值”, 其功能為告訴使用者電腦輸出的內容為何。 • 於工具箱按二下 Label 圖項。 • (2) 拖曳至適當位置。 • (3) 屬性 Text 重設為"其平方值"。 • 5 . 安排輸入文書盒, 此文書盒的功能為讓使用者輸入數值。 • 於工具箱按二下 TextBox 圖項。 • (2) 拖曳至適當位置。 • (3) 屬性 Name 預設值為 textBox1。 • (4) 屬性 Text 預設值為空白, 本例重設為 5。

  42. 6 . 安排輸出標籤, 此標籤功能為輸出平方值。 • 於工具箱按二下 Label 圖項。 • (2) 屬性 Name 預設為 Label 3。 • (3) 屬性 Text 預設為 Label 3, 請清除為空白。 • 7 . 安排“ 開始” 按鈕, 此按鈕的功能為執行程式的依據。 • 於工具箱按二下 Button 圖項。 • (2) 屬性 Name 預設為 button1, 請重設為 btnStart。 • (3) 屬性 Text 預設為 button1, 請重設為"開始"。

  43. 8 . 安排“結束”按鈕, 此按鈕的功能為結束程式的執行。 • 於工具箱按二下 Button 圖項。 • (2) 屬性 Name 重設為 btnClose。 • (3) 屬性 Text 重設為“結束”。 • (4) 完成以上設定, 表單畫面如下圖左。 9 . 如何一起重設若干元件的某些屬性? (為求畫面一致, 可圈選若干元件 而一起設定共通的屬性, 如 Font 及 Size 屬性, 免除個別設定的麻煩。) (1) 使用滑鼠拖曳圈選若干元件 (亦可按住 Ctrl 鍵再點選若干元件), 表 單畫面如下圖右, 不含表單共有六個元件。 (2) 於屬性視窗重設一些共同屬性, 如 Font 、Size 及 Text 等。下圖右 已重設字型大小為12 。

  44. 1 0 . 撰寫數值轉換處理程序。 (1) 於表單的"開始"按鈕按二下, 可得空白的 Click 事件程序骨架, 其 編輯視窗如下圖, 其中 btnStart 是"開始"按鈕的物件名稱、Click 是此事件執行的依據。

  45. (2) 本例於"開始"按鈕按一下時, 應執行輸入、處理及輸出, 故撰寫 程式碼如下。英文字母的大小寫應一致 (C# 的英文字母大小寫視 為不同的字母) 且每一敘述均應加分號 (; ) 作為結束, 而雙斜線 (//) 之後的文字為程式註解。

  46. (3) Visual Studio 具有很強的程式編輯輔助功能。所以, 當鍵入方法或 物件時, 均能感應出適當的提示語。例如, 下圖是輸入"textboxl"時, 所出現的屬性與方法。 1 1 . 撰寫" 結束" 處理程序 (1) 於表單的“結束”按鈕按二下或於屬性視窗點選 鈕, 切換至事 件頁, 並於 Click 事件標題按二下, 可得空白的 btnClose_Click 事件 骨架。 (2) 當按一下"結束"按鈕時, 代表要結束程式, 所以鍵入如下程式碼, 請留意大小寫字母視為不同, 且以分號 (; ) 做為一個敘述的結束。

  47. 1 2 . 執行程式 (1) 按一下工具列“ 開始偵錯” 圖項鈕 或功能表的" 偵錯/開始 偵錯", 均可偵錯並執行程式。若程式編譯無誤便可得下圖左視窗, 按一下表單的"開始" 按鈕, 畫面如下圖右, 已完成轉換工作。

  48. (2) 若出現下圖左的錯誤訊息視窗, 請按"否"停止程式編譯, 並查看 下圖右工作清單窗格中的訊息, 進行除錯。 (3) 按一下"結束"按鈕, 或功能表"偵錯/停止偵錯”,均可結束程式。 1 3 . 存檔 按一下功能表的 "檔案 / 全部儲存" 即可完成存檔動作。

  49. 程式列印 程式列印如下, 只有斜體字部分是使用者鍵入, 其餘皆是 C# 自動完 成, 這也是 Visual Studio 整合式開發環境的特色之一, 程式設計者應專注於程式的演算邏輯, 而非環境的設定。

More Related