Visual C#程序設(shè)計(jì)教程課件_第1頁(yè)
Visual C#程序設(shè)計(jì)教程課件_第2頁(yè)
Visual C#程序設(shè)計(jì)教程課件_第3頁(yè)
Visual C#程序設(shè)計(jì)教程課件_第4頁(yè)
Visual C#程序設(shè)計(jì)教程課件_第5頁(yè)
已閱讀5頁(yè),還剩370頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

下一頁(yè)VisualC#程序設(shè)計(jì)教程

上一頁(yè)第1章程序設(shè)計(jì)語(yǔ)言與程序設(shè)計(jì)方法1.1程序設(shè)計(jì)語(yǔ)言人們使用計(jì)算機(jī)處理問(wèn)題時(shí),與計(jì)算機(jī)交換信息所使用的語(yǔ)言叫計(jì)算機(jī)語(yǔ)言,也就是程序設(shè)計(jì)語(yǔ)言。它是人為地設(shè)計(jì)而成的約定信息。章節(jié)目錄上一頁(yè)下一頁(yè)1.1.1機(jī)器語(yǔ)言機(jī)器語(yǔ)言是計(jì)算機(jī)能執(zhí)行的指令代碼,這種語(yǔ)言是由若干0和1的序列組成的指令,也就是人們常說(shuō)的二進(jìn)制代碼。用機(jī)器語(yǔ)言設(shè)計(jì)的程序,稱為機(jī)器語(yǔ)言程序。這是一種最低級(jí)的計(jì)算機(jī)語(yǔ)言程序。章節(jié)目錄上一頁(yè)下一頁(yè)1.1.2匯編語(yǔ)言

使用一種比較直觀、便于記憶的指令符號(hào)來(lái)代替二進(jìn)制數(shù)字的機(jī)器指令代碼,這就是匯編語(yǔ)言。匯編語(yǔ)言的每條指令通常使用英文單詞的縮寫(xiě)形式表示,也叫助記符。匯編語(yǔ)言需用一個(gè)專門(mén)的程序?qū)⑵滢D(zhuǎn)換為機(jī)器指令代碼,這個(gè)負(fù)責(zé)轉(zhuǎn)換的程序叫匯編程序。章節(jié)目錄上一頁(yè)下一頁(yè)1.1.3高級(jí)語(yǔ)言

高級(jí)語(yǔ)言接近人們熟悉的自然語(yǔ)言,高級(jí)語(yǔ)言與具體的計(jì)算機(jī)指令系統(tǒng)沒(méi)有直接關(guān)系,因此用高級(jí)語(yǔ)言設(shè)計(jì)的程序可以在各種類型的計(jì)算機(jī)上運(yùn)行。

必須將高級(jí)語(yǔ)言程序轉(zhuǎn)換為機(jī)器語(yǔ)言程序,才能在計(jì)算機(jī)上得以執(zhí)行,這種轉(zhuǎn)換的過(guò)程叫“翻譯”。翻譯分解釋和編譯,在“翻譯”過(guò)程中會(huì)自動(dòng)檢查源程序中的語(yǔ)法錯(cuò)誤。章節(jié)目錄上一頁(yè)下一頁(yè)1.2算法

1.2.1算法的概念

所謂算法,是指為解決一個(gè)問(wèn)題而采取的方法和步驟,或者說(shuō)是解題步驟的精確描述。廣義地說(shuō),處理任何問(wèn)題都有一個(gè)“算法”問(wèn)題。計(jì)算機(jī)算法,即計(jì)算機(jī)能執(zhí)行的算法。

計(jì)算機(jī)的算法可分為兩大類:數(shù)值運(yùn)算算法和非數(shù)值運(yùn)算算法。

章節(jié)目錄上一頁(yè)下一頁(yè)1.2.2算法的表示

1.用自然語(yǔ)言表示算法

可以用人們?nèi)粘I钪惺褂玫恼Z(yǔ)言即自然語(yǔ)言來(lái)表示算法,用自然語(yǔ)言表示算法的好處是人人都懂,人人都會(huì)。

但是,自然語(yǔ)言表示的算法容易非常冗長(zhǎng),有時(shí)會(huì)產(chǎn)生“二義性”。

章節(jié)目錄上一頁(yè)下一頁(yè)2.用流程圖表示算法

起止框判斷框處理框輸入輸出框流程線連接點(diǎn)圖1-1流程圖符號(hào)用流程線將各種操作圖符號(hào)連接在一起就構(gòu)成了一個(gè)完整的算法流程圖。這種流程圖稱為傳統(tǒng)流程圖。

章節(jié)目錄上一頁(yè)下一頁(yè)N-S流程圖中,完全去掉了流程線。全部算法寫(xiě)在一個(gè)大矩形框中,在某一矩形框中還可以包含一些屬于它的小矩形框。這種流程圖又稱為盒圖。

章節(jié)目錄上一頁(yè)下一頁(yè)章節(jié)目錄上一頁(yè)下一頁(yè)

傳統(tǒng)流程圖

N-S流程圖1.3程序設(shè)計(jì)方法

1.3.1結(jié)構(gòu)化程序設(shè)計(jì)方法

結(jié)構(gòu)化程序設(shè)計(jì)方法是一種傳統(tǒng)的程序設(shè)計(jì)方法。結(jié)構(gòu)化程序設(shè)計(jì)方法從編程思想上要求自頂向下,逐步求精,從程序的具體結(jié)構(gòu)上要求程序是模塊化,要求程序語(yǔ)言中有直接實(shí)現(xiàn)順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)這三種基本結(jié)構(gòu)的語(yǔ)句,要求程序代碼由三種基本結(jié)構(gòu)組成,復(fù)雜的結(jié)構(gòu)應(yīng)該由基本結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn),整個(gè)程序或程序中的模塊或控制結(jié)構(gòu)只有一個(gè)入口和一個(gè)出口。

章節(jié)目錄上一頁(yè)下一頁(yè)1.順序結(jié)構(gòu)

章節(jié)目錄上一頁(yè)下一頁(yè)ABAB2.選擇結(jié)構(gòu)

章節(jié)目錄上一頁(yè)下一頁(yè)3.循環(huán)結(jié)構(gòu)

章節(jié)目錄上一頁(yè)下一頁(yè)當(dāng)P為真(是)

A1.3.2面向?qū)ο蟪绦蛟O(shè)計(jì)方法

在程序的設(shè)計(jì)中,算法總是與特定的數(shù)據(jù)結(jié)構(gòu)密切相關(guān)的,算法含有對(duì)數(shù)據(jù)結(jié)構(gòu)的訪問(wèn),特定的算法只適用于特定的數(shù)據(jù)結(jié)構(gòu),因此算法與數(shù)據(jù)結(jié)構(gòu)在編程中應(yīng)該是一個(gè)密不可分的整體,這個(gè)整體叫對(duì)象。面向?qū)ο蟮某绦蛟O(shè)計(jì)通過(guò)類、對(duì)象、繼承、多態(tài)等機(jī)制形成一個(gè)完善的編程體系。面向?qū)ο蟮某绦蛟O(shè)計(jì)多采用可視化的方式。章節(jié)目錄上一頁(yè)下一頁(yè)1.類和對(duì)象可以把類比作一種藍(lán)圖,而對(duì)象則是根據(jù)藍(lán)圖所創(chuàng)建的實(shí)例,可以把類比作生產(chǎn)模具,而對(duì)象則是由這種模具產(chǎn)生的實(shí)例(產(chǎn)品)。所以人們又把對(duì)象叫做類的實(shí)例。類是對(duì)事物的定義,而對(duì)象則是該事物本身。章節(jié)目錄上一頁(yè)下一頁(yè)2.對(duì)象的屬性、事件和方法(1)對(duì)象的屬性

C#中的對(duì)象屬性可以看作是表現(xiàn)對(duì)象特征的數(shù)據(jù)的擴(kuò)展。在面向?qū)ο蟮木幊讨校丶?duì)象的常見(jiàn)屬性有文本(Text)、背景色(BackColor)、字體大小(Font)、是否可見(jiàn)(Visible)等。

(2)對(duì)象的事件

所謂事件(Event),是預(yù)先定義好的、能夠被對(duì)象識(shí)別的動(dòng)作。如單擊(Click)事件。章節(jié)目錄上一頁(yè)下一頁(yè)

章節(jié)目錄上一頁(yè)下一頁(yè)

2.Microsoft中間語(yǔ)言(MSIL)和JIT即時(shí)編譯

在VisualStudio.NET環(huán)境中,各種編程語(yǔ)言編譯器負(fù)責(zé)完成編譯工作的第一步,即把源代碼轉(zhuǎn)換為一種中間代碼(MicrosoftIntermediateLanguage,MSIL)。

MSIL是一種非常接近機(jī)器語(yǔ)言的代碼,但還不能在計(jì)算機(jī)上運(yùn)行,還要通過(guò)第二步編譯工作將MSIL變?yōu)檎嬲臋C(jī)器語(yǔ)言,這個(gè)工作由即時(shí)編譯器(Just-In_time,JIT)完成。

章節(jié)目錄上一頁(yè)下一頁(yè)2.1VisualStdio.Net簡(jiǎn)介

2.2.1起始頁(yè)

1.項(xiàng)目

2.聯(lián)機(jī)資源

(1)開(kāi)始 (5)聯(lián)機(jī)搜索

(2)新增功能 (6)下載

(3)網(wǎng)上社區(qū) (7)XMLWebservices(4)標(biāo)題新聞 (8)Web宿主

章節(jié)目錄上一頁(yè)下一頁(yè)

2.2.2設(shè)計(jì)器視圖與代碼視圖設(shè)計(jì)器視圖與代碼視圖是程序設(shè)計(jì)最常用的兩個(gè)子窗口。設(shè)計(jì)器視圖用來(lái)設(shè)計(jì)Windows窗體或Web窗體,代碼視圖用于設(shè)計(jì)程序源代碼。在設(shè)計(jì)器視圖中可以為Windows或Web界面添加控件。代碼視圖實(shí)質(zhì)上是一個(gè)純文本編輯器,在該視圖中可以進(jìn)行通常的文本編輯操作,如選定、復(fù)制、移動(dòng)、撤消、恢復(fù)等。

章節(jié)目錄上一頁(yè)下一頁(yè)

2.2.3解決方案資源管理器與類視圖

1.解決方案資源管理器

使用VisualStudio.NET開(kāi)發(fā)的每一個(gè)應(yīng)用程序叫解決方案,每一個(gè)解決方案可以包含一個(gè)或多個(gè)項(xiàng)目。一個(gè)項(xiàng)目通常是一個(gè)完整的程序模塊,一個(gè)項(xiàng)目可以有多個(gè)項(xiàng)?!敖鉀Q方案資源管理器”子窗口顯示VisualStudio.NET解決方案的樹(shù)型結(jié)構(gòu)。在“解決方案資源管理器”中可以瀏覽組成解決方案的所有項(xiàng)目和每個(gè)項(xiàng)目中的文件,可以對(duì)解決方案的各元素進(jìn)行組織和編輯。

章節(jié)目錄上一頁(yè)下一頁(yè)

2.類視圖“類視圖”以樹(shù)型結(jié)構(gòu)顯示VisualStudio.NET當(dāng)前項(xiàng)目中的類和類型的層次信息。在“類視圖”中,可以對(duì)類的層次結(jié)構(gòu)瀏覽、組織和編輯。如果雙擊“類視圖”中的某一個(gè)類名稱,將打開(kāi)該類定義的代碼視圖,并定位在該類定義的開(kāi)始處,如果雙擊類中的某一成員,將打開(kāi)該類定義的代碼視圖,并定位在該成員聲明處。

章節(jié)目錄上一頁(yè)下一頁(yè)

2.2.4屬性與動(dòng)態(tài)幫助

1.屬性“屬性”子窗口用于設(shè)置解決方案中各個(gè)子項(xiàng)的屬性,當(dāng)選擇設(shè)計(jì)器視圖、解決方案、類視圖中的某一子項(xiàng)時(shí),“屬性”子窗口將以兩列表格的形式顯示該子項(xiàng)的所有屬性。單擊“事件”按鈕,窗口將顯示被選擇窗體或控件的事件列表,

章節(jié)目錄上一頁(yè)下一頁(yè)

2.動(dòng)態(tài)幫助“動(dòng)態(tài)幫助”對(duì)用戶當(dāng)前操作提供相關(guān)的幫助主題列表。當(dāng)用戶在VisualStudio.NET環(huán)境中進(jìn)行某一項(xiàng)操作時(shí),“動(dòng)態(tài)幫助”將搜索MSDN庫(kù)(MicrosoftDeveloperNetwork),查找與該操作相關(guān)的幫助主題并把它認(rèn)為可能最有用的主題列在第一位。單擊一個(gè)鏈接后,默認(rèn)情況下此主題將會(huì)顯示在VisualStudio.NET窗口中。當(dāng)在代碼窗口中編輯源代碼時(shí),“動(dòng)態(tài)幫助”窗口會(huì)顯示正在輸入的關(guān)鍵字和類的幫助主題。

章節(jié)目錄上一頁(yè)下一頁(yè)

2.2.5工具箱與服務(wù)器資源管理器

1.工具箱“工具箱”用于向Windows應(yīng)用程序或Web應(yīng)用程序添加控件?!肮ぞ呦洹笔褂眠x項(xiàng)卡分類管理其中的控件,打開(kāi)“工具箱”將顯示VisualStudio項(xiàng)目中使用的各個(gè)不同的控件列表。根據(jù)當(dāng)前正在使用的設(shè)計(jì)器或編輯器,“工具箱”中可用的選項(xiàng)卡和控件會(huì)有所變化。

章節(jié)目錄上一頁(yè)下一頁(yè)

2.服務(wù)器資源管理器“服務(wù)器資源管理器”是VisualStudio.NET的服務(wù)器管理控制臺(tái)。使用服務(wù)器資源管理器可以打開(kāi)數(shù)據(jù)連接,登錄服務(wù)器,瀏覽它們的數(shù)據(jù)庫(kù)和系統(tǒng)服務(wù)??梢詫⒐芾砥髦械膶?duì)象從服務(wù)器資源管理器拖放到VisualStudio.NET設(shè)計(jì)器上。這將創(chuàng)建新的數(shù)據(jù)組件,這些組件預(yù)配置為引用所拖放的對(duì)象。

章節(jié)目錄上一頁(yè)下一頁(yè)

2.2.6子窗口的操作

在主區(qū)域顯示的窗口,以選項(xiàng)卡的形式疊放在一起。用右上角關(guān)閉按鈕關(guān)閉當(dāng)前窗口。主區(qū)域周圍的窗口,有??颗c浮動(dòng)兩種情況,??坑钟须[藏與固定顯示兩種狀態(tài),這兩種狀態(tài)通過(guò)圖釘按鈕控制。

章節(jié)目錄上一頁(yè)下一頁(yè)

2.2.7使用VisualStudio.NET的幫助

1.MSDN幫助

(1)目錄

(2)索引

(3)搜索

(4)收藏夾2.智能感知

動(dòng)態(tài)顯示成員列表

動(dòng)態(tài)顯示該方法功能和不同用法

章節(jié)目錄上一頁(yè)下一頁(yè)

2.3窗體對(duì)象與控件對(duì)象

2.3.1窗體對(duì)象

1.窗體的結(jié)構(gòu)

2.窗體的屬性

Name(名稱)BackColor(背景色)BackgroundImage(背景圖像)Enabled(可用)Font(字體)

章節(jié)目錄上一頁(yè)下一頁(yè)ForeColor(前景色)Location(位置)Locked(鎖定)MaximizeBox(最大化按鈕)MinimizeBox(最小化按鈕)Opacity(透明)Size(尺寸)Text(文本)WindowState(窗口狀態(tài))

章節(jié)目錄上一頁(yè)下一頁(yè)3.窗體的方法CenterToScreen()方法Close()方法Hide()方法Show()方法調(diào)用方法的一般格式:對(duì)象名.方法名(參數(shù)列表);靜態(tài)方法調(diào)用的一般格式:類名.靜態(tài)方法名(參數(shù)列表);

章節(jié)目錄上一頁(yè)下一頁(yè)

4.窗體事件Activated事件Click事件Closed事件GotFocus事件Load事件

章節(jié)目錄上一頁(yè)下一頁(yè)2.3.2幾種常用控件

1.添加與編輯控件

(1)添加控件

(2)選擇控件(3)調(diào)整控件的位置與大小

(4)控件布局

章節(jié)目錄上一頁(yè)下一頁(yè)

2.按鈕按鈕(Button)控件是應(yīng)用程序中使用最多的控件對(duì)象之一,常用來(lái)接收用戶的操作信息,激發(fā)相應(yīng)的事件。按鈕是用戶與程序交互的最簡(jiǎn)便的方法。

3.標(biāo)簽標(biāo)簽(Label)控件主要功能是輸出信息,可以用來(lái)標(biāo)識(shí)其他無(wú)法顯示標(biāo)題的控件,也可以向用戶顯示相關(guān)信息。

章節(jié)目錄上一頁(yè)下一頁(yè)4.文本框

文本框中的Text屬性不象窗體對(duì)象與標(biāo)簽對(duì)象那樣是控件對(duì)象的標(biāo)題,而是文本框中的內(nèi)容。

(1)特有屬性HideSelection(隱藏選擇)Lines(行)MaxLength(最大長(zhǎng)度)Multiline(多行)

章節(jié)目錄上一頁(yè)下一頁(yè)

PasswordChar(密碼字符)ReadOnly(只讀)SelectedText(選定的文本)SelectionLength(選擇長(zhǎng)度)TextLength(文本框長(zhǎng)度)WordWrap(文本換行)

章節(jié)目錄上一頁(yè)下一頁(yè)

(2)操作文本的方法

AppendText(追加文本)方法Clear(清除)方法Copy(拷貝)方法Cut(剪切)方法Paste(粘貼)方法SelectAll(全選)方法

章節(jié)目錄上一頁(yè)下一頁(yè)

2.4應(yīng)用程序開(kāi)發(fā)的一般步驟

2.4.1創(chuàng)建控制臺(tái)應(yīng)用程序1.新建項(xiàng)目2.編寫(xiě)代碼3.運(yùn)行調(diào)試程序4.保存程序

章節(jié)目錄上一頁(yè)下一頁(yè)

2.4.2創(chuàng)建Windows應(yīng)用程序

1.新建項(xiàng)目2.添加控件和設(shè)置控件屬性(1)添加控件(2)修改屬性

3.編寫(xiě)代碼

4.運(yùn)行調(diào)試程序

5.保存程序

章節(jié)目錄上一頁(yè)下一頁(yè)2.5VisualStudio2005簡(jiǎn)介

界面

窗體設(shè)計(jì)章節(jié)目錄上一頁(yè)下一章代碼設(shè)計(jì)章節(jié)目錄上一頁(yè)下一章工具欄章節(jié)目錄上一頁(yè)下一章

章節(jié)目錄上一頁(yè)下一頁(yè)2.命名空間命名空間既是VisualStudio.NET提供系統(tǒng)資源的分層組織方式,也是分層組織程序的方式。因此,命名空間有兩種,一種是系統(tǒng)命名空間,一種是用戶自定義命名空間。系統(tǒng)命名空間使用using關(guān)鍵字導(dǎo)入,System是VisualStudio.NET中的最基本的命名空間,在創(chuàng)建項(xiàng)目時(shí),VisualStudio.NET平臺(tái)都會(huì)自動(dòng)生成導(dǎo)入該命名空間,并且放在程序代碼的起始處。

章節(jié)目錄上一頁(yè)下一頁(yè)3.類和方法C#中,必須用類來(lái)組織程序的變量與方法。C#要求每個(gè)程序必須且只能有一個(gè)“Main”方法?!癕ain”方法必須放在某一個(gè)類中?!癕ain”方法是應(yīng)用程序的入口。4.語(yǔ)句語(yǔ)句就是C#應(yīng)用程序中執(zhí)行操作的指令。C#中的語(yǔ)句必須用分號(hào)“;”結(jié)束。可以在一行中書(shū)寫(xiě)多條語(yǔ)句,也可以將一條語(yǔ)句書(shū)寫(xiě)在多行上。

章節(jié)目錄上一頁(yè)下一頁(yè)5.大括號(hào)在C#中,括號(hào)“{”和“}”是一種范圍標(biāo)志,是組織代碼的一種方式,用于標(biāo)識(shí)應(yīng)用程序中邏輯上有緊密聯(lián)系的一段代碼的開(kāi)始與結(jié)束。大括號(hào)可以嵌套,以表示應(yīng)用程序中的不同層次。

章節(jié)目錄上一頁(yè)下一頁(yè)3.1.2C#程序的格式

1.縮進(jìn)與空格縮進(jìn)用于表示代碼的結(jié)構(gòu)層次,這在程序中不是必須的,但是縮進(jìn)可以清晰地表示程序的結(jié)構(gòu)層次,在程序設(shè)計(jì)中應(yīng)該使用統(tǒng)一的縮進(jìn)格式書(shū)寫(xiě)代碼??崭裼袃煞N作用,一種是語(yǔ)法要求,必須遵守,一種是為使語(yǔ)句不至于太擁擠。例如:intia=3;

章節(jié)目錄上一頁(yè)下一頁(yè)2.字母大小寫(xiě)C#中的字母可以大小寫(xiě)混合,但是必須注意的是,C#把同一字母的大小寫(xiě)當(dāng)作兩個(gè)不同的字符對(duì)待,如,大寫(xiě)“A”與小寫(xiě)“a”對(duì)C#來(lái)說(shuō),是兩個(gè)不同的字符。3.注釋C#中的注釋基本有兩種,一是單行注釋,一是多行注釋。單行注釋以雙斜線“//”開(kāi)始,不能換行。多行注釋以“/*”開(kāi)始,以“*/”結(jié)束,可以換行。

章節(jié)目錄上一頁(yè)下一頁(yè)3.2基本數(shù)據(jù)類型

3.2.1數(shù)值類型

1.整數(shù)類型整數(shù)類型又有有符號(hào)整數(shù)與無(wú)符號(hào)整數(shù)。有符號(hào)整數(shù)可以帶正負(fù)號(hào),無(wú)符號(hào)整數(shù)不需帶正負(fù)號(hào),默認(rèn)為正數(shù)。有符號(hào)整數(shù)包括sbyte(符號(hào)字節(jié)型)、short(短整型)、int(整型)、long(長(zhǎng)整型)。無(wú)符號(hào)整數(shù)包括byte(字節(jié)型)、ushort(無(wú)符號(hào)短整型)、uint(無(wú)符號(hào)整型)、ulong(無(wú)符號(hào)長(zhǎng)整型)。

章節(jié)目錄上一頁(yè)下一頁(yè)2.實(shí)數(shù)類型實(shí)數(shù)類型包括float(單精度浮點(diǎn)型)、double(雙精度浮點(diǎn)型)、decimal(十進(jìn)制型)。3.2.2字符類型1.Unicode字符集Unicode是一種重要的通用字符編碼標(biāo)準(zhǔn)是繼ASCII字符碼后的一種新字符編碼,如UTF-16允許用16位字符組合為一百萬(wàn)或更多的字符。C#支持Unicode字符集。

章節(jié)目錄上一頁(yè)下一頁(yè)2.char(字符型)char(字符型):數(shù)據(jù)范圍是0~65535之間的Unicode字符集中的單個(gè)字符,占用2個(gè)字節(jié)。char(字符型)表示無(wú)符號(hào)16位整數(shù),char(字符型)的可能值集與Unicode字符集相對(duì)應(yīng)。3.string(字符串型)string(字符串型):指任意長(zhǎng)度的Unicode字符序列,占用字節(jié)根據(jù)字符多少而定。string(字符串型)表示包括數(shù)字與空格在內(nèi)的若干個(gè)字符序列,允許只包含一個(gè)字符的字符串,甚至可以是不包含字符的空字符串。

章節(jié)目錄上一頁(yè)下一頁(yè)3.2.3布爾類型和對(duì)象類型bool(布爾型):表示布爾邏輯量。bool(布爾型)數(shù)據(jù)范圍是“true”(真)和“false”(假)。bool(布爾型)占用一個(gè)字節(jié)。bool(布爾型)的值“true”(真)和“false”是關(guān)鍵字。object(對(duì)象型):可以表示任何類型的值,其占用字節(jié)視具體表示的數(shù)據(jù)類型而定。object(對(duì)象型)是所有其他類型的最終基類。C#中的每種類型都是直接或間接從object類型派生的。

章節(jié)目錄上一頁(yè)下一頁(yè)3.3變量與常量

3.3.1變量

1.變量命名規(guī)則在C#中,變量命名規(guī)則如下:①

變量名的第一個(gè)字符必須是字母(包括漢字)或下劃線,其余字符必須是字母(包括漢字)、數(shù)字或下劃線。②

變量名不能是C#的關(guān)鍵字或庫(kù)函數(shù)名。例如,sum,_S,都是合法的變量名,而int,2A,NumberOfStudent是非法變量名。章節(jié)目錄上一頁(yè)下一頁(yè)2.聲明變量聲明變量最簡(jiǎn)單的格式為:數(shù)據(jù)類型名稱變量名列表;例如:intnumber;//聲明一個(gè)整型變量boolopen;//聲明一個(gè)布爾型變量decimalbankBlance;//聲明一個(gè)十進(jìn)制變量可以一次聲明多個(gè)變量,例如:sbytea,b;//聲明兩個(gè)有符號(hào)字節(jié)型變量如果一次聲明多個(gè)變量,變量名之間用逗號(hào)分隔。

章節(jié)目錄上一頁(yè)下一頁(yè)3.變量賦值C#規(guī)定,變量必須賦值后才能引用。為變量賦值需使用賦值號(hào)“=”。例如:intnumber;number=32;//為變量賦值32也可以使用變量為變量賦值,例如:boolclose;close=open;//為變量賦值true(假設(shè)open為已聲明的bool型變量,其值為true)章節(jié)目錄上一頁(yè)下一頁(yè)可以為幾個(gè)變量一同賦值,例如:inta,b,c;a=b=c=32;可以在聲明變量的同時(shí)為變量賦值,相當(dāng)于將聲明語(yǔ)句與賦值語(yǔ)句合二為一。例如:doublearea,radius=16;章節(jié)目錄上一頁(yè)下一頁(yè)3.3.2常量1.直接常量(1)整型常量整型常量即整數(shù),整型常量有三種形式:十進(jìn)制形式,即通常意義上的整數(shù),如,123,48910等。八進(jìn)制形式,輸入八進(jìn)制整型常量,需要在數(shù)字前面加“0”,如,0123,038等。十六進(jìn)制形式,輸入十六進(jìn)制整型常量,需要在數(shù)字前面加“0x”或“0X”,如,0x123,0X48910等。

章節(jié)目錄上一頁(yè)下一頁(yè)(2)實(shí)型常量實(shí)型常量即帶小數(shù)的數(shù)值,實(shí)型常量有兩種表示形式:小數(shù)形式,即人們通常的書(shū)寫(xiě)形式,如0.123,12.3,.123等等。指數(shù)形式,也叫科學(xué)記數(shù),由底數(shù)加大寫(xiě)的E或小寫(xiě)的e加指數(shù)組成,例如,123e5或123E5都表示123×105。章節(jié)目錄上一頁(yè)下一頁(yè)(3)字符常量字符常量表示單個(gè)的Unicode字符集中的一個(gè)字符,通常包括數(shù)字、各種字母、標(biāo)點(diǎn)、符號(hào)和漢字等。字符常量用一對(duì)英文單引號(hào)界定,如,'A','a','+','漢'等等。在C#中,有些字符不能直接放在單引號(hào)中作為字符常量,這時(shí)需要使用轉(zhuǎn)義符來(lái)表示這些字符常量,轉(zhuǎn)義符由反斜杠“\”加字符組成,如

'\n'。

章節(jié)目錄上一頁(yè)下一頁(yè)(4)字符串常量字符串常量是由一對(duì)雙引號(hào)界定的字符序列,例如:"歡迎使用C#!""Iamastudent."需要注意的是,即使由雙引號(hào)界定的一個(gè)字符,也是字符串常量,不能當(dāng)做字符常量看待,例如,'A'與"A",前者是字符常量,后者是字符串常量。

(5)布爾常量布爾常量即布爾值本身,如前所述,布爾值true(真)和false(假)是C#的兩個(gè)關(guān)鍵字。

章節(jié)目錄上一頁(yè)下一頁(yè)2.符號(hào)常量符號(hào)常量使用const關(guān)鍵字定義,格式為:

const類型名稱常量名=常量表達(dá)式;常量定義中,“常量表達(dá)式”的意義在于該表達(dá)式不能包含變量及函數(shù)等值會(huì)發(fā)生變化的內(nèi)容。常量表達(dá)式中可以包含其他已定義常量。

由于符號(hào)常量代表的是一個(gè)不變的值,所以符號(hào)常量不能出現(xiàn)在賦值號(hào)的左邊。如果在程序中非常頻繁地使用某一常量,可以將其定義為符號(hào)常量。

章節(jié)目錄上一頁(yè)下一頁(yè)3.3.3類型轉(zhuǎn)換數(shù)據(jù)類型的轉(zhuǎn)換有隱式轉(zhuǎn)換與顯式轉(zhuǎn)換兩種。1.隱式轉(zhuǎn)換隱式轉(zhuǎn)換是系統(tǒng)自動(dòng)執(zhí)行的數(shù)據(jù)類型轉(zhuǎn)換。隱式轉(zhuǎn)換的基本原則是允許數(shù)值范圍小的類型向數(shù)值范圍大的類型轉(zhuǎn)換,允許無(wú)符號(hào)整數(shù)類型向有符號(hào)整數(shù)類型轉(zhuǎn)換。

2.顯式轉(zhuǎn)換顯式轉(zhuǎn)換也叫強(qiáng)制轉(zhuǎn)換,是在代碼中明確指示將某一類型的數(shù)據(jù)轉(zhuǎn)換為另一種類型。顯式轉(zhuǎn)換的一般格式為:

(數(shù)據(jù)類型名稱)數(shù)據(jù)例如:intx=600;shortz=(short)x;顯式轉(zhuǎn)換中可能導(dǎo)致數(shù)據(jù)的丟失,例如:decimald=234.55M;intx=(int)d;章節(jié)目錄上一頁(yè)下一頁(yè)

章節(jié)目錄上一頁(yè)下一頁(yè)3.使用方法進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換(1)Parse方法Parse方法可以將特定格式的字符串轉(zhuǎn)換為數(shù)值。Parse方法的使用格式為:數(shù)值類型名稱.Parse(字符串型表達(dá)式)例如:intx=int.Parse("123");(2)ToString方法ToString方法可將其他數(shù)據(jù)類型的變量值轉(zhuǎn)換為字符串類型。ToString方法的使用格式為:變量名稱.ToString()例如:intx=123;strings=x.ToString();

章節(jié)目錄上一頁(yè)下一頁(yè)

3.4運(yùn)算符與表達(dá)式

3.4.1運(yùn)算符與表達(dá)式類型1.算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符有一元運(yùn)算符與二元運(yùn)算符。①

一元運(yùn)算符:-(取負(fù))、+(取正)、++(增量)、--(減量)。②

二元運(yùn)算符:+(加)、-(減)、*(乘)、/(除)、%(求余)。由算術(shù)運(yùn)算符與操作數(shù)構(gòu)成的表達(dá)式叫算術(shù)表達(dá)式。

章節(jié)目錄上一頁(yè)下一頁(yè)“-”與“+”只能放在操作數(shù)的左邊。增量與減量量符只能用于變量。二元運(yùn)算符的意義與數(shù)學(xué)意義相同,其中%(求余)運(yùn)算符是以除法的余數(shù)作為運(yùn)算結(jié)果,求余運(yùn)算也叫求模。例如:intx=6,y=2,z;z=x%y;//x除以y的結(jié)果不是3(商),而是0(余數(shù))要注意數(shù)據(jù)類型。例如:inta,b=39;a=b/2;//a的值為18

章節(jié)目錄上一頁(yè)下一頁(yè)2.字符串運(yùn)算符與字符串表達(dá)式字符串運(yùn)算符只有一個(gè),即“+”運(yùn)算符,表示將兩個(gè)字符串連接起來(lái)。例如:stringconnec="abcd"+"ef";//connec的值為“abcdef”“+”運(yùn)算符還可以將字符型數(shù)據(jù)與字符串型數(shù)據(jù)或多個(gè)字符型數(shù)據(jù)連接在一起,例如:stringconnec="abcd"+'e'+'f';//connec的值為“abcdef”

章節(jié)目錄上一頁(yè)下一頁(yè)3.關(guān)系運(yùn)算符與關(guān)系表達(dá)式>,<,>=,<=,==,!=。依次為大于,小于,大于等于,小于等于,等于,不等于。用于字符串的關(guān)系運(yùn)算符只有相等“==”與不等“!=”運(yùn)算符。4.邏輯運(yùn)算符與邏輯表達(dá)式在C#中,最常用的邏輯運(yùn)算符是!(非)、&&與、||(或)。

章節(jié)目錄上一頁(yè)下一頁(yè)例如:boolb1=!true;//b1的值為falseboolb2=5>3&&1>2;//b2的值為falseboolb3=5>3||1>2//b3的值為true5.條件運(yùn)算符與條件表達(dá)式條件運(yùn)算符是C#中唯一的三元運(yùn)算符,條件運(yùn)算符由符號(hào)“?”與“:”組成,通過(guò)操作三個(gè)操作數(shù)完成運(yùn)算,其一般格式為:布爾類型表達(dá)式?表達(dá)式1:表達(dá)式2

章節(jié)目錄上一頁(yè)下一頁(yè)6.賦值運(yùn)算符與賦值表達(dá)式在賦值表達(dá)式中,賦值運(yùn)算符左邊的操作數(shù)叫左操作數(shù),賦值運(yùn)算符右邊的操作數(shù)叫右操作數(shù)。左操作數(shù)通常是一個(gè)變量。復(fù)合賦值運(yùn)算符,如“*=”、“/=”、“%=”、“+=”、“-=”等。

3.4.2運(yùn)算符的優(yōu)先級(jí)與結(jié)合性

1.優(yōu)先級(jí)

①一元運(yùn)算符的優(yōu)先級(jí)高于二元和三元運(yùn)算符。②不同種類運(yùn)算符的優(yōu)先級(jí)有高低之分,算術(shù)運(yùn)算符的優(yōu)先級(jí)高于關(guān)系運(yùn)算符,關(guān)系運(yùn)算符的優(yōu)先級(jí)高于邏輯運(yùn)算符,邏輯運(yùn)算符的優(yōu)先級(jí)高于條件運(yùn)算符,條件運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符。③有些同類運(yùn)算符優(yōu)先級(jí)也有高低之分,在算術(shù)運(yùn)算符中,乘、除、求余的優(yōu)先級(jí)高于加、減;在關(guān)系運(yùn)算符中,小于、大于、小于等于、大于等于的優(yōu)先級(jí)高于相等與不等;邏輯運(yùn)算符的優(yōu)先級(jí)按從高到低排列為非、與、或。章節(jié)目錄上一頁(yè)下一頁(yè)

章節(jié)目錄上一頁(yè)下一頁(yè)可以使用圓括號(hào)明確運(yùn)算順序。例如:strings=x>y?"greaterthan":x==y?"equalto":"lessthan";strings=x>y?"greaterthan":(x==y?"equalto":"lessthan");括號(hào)還可以改變表達(dá)式的運(yùn)算順序

:b*c+db*(c+d),

章節(jié)目錄上一頁(yè)下一頁(yè)4.1.2復(fù)合賦值語(yǔ)句與連續(xù)賦值語(yǔ)句

1.復(fù)合賦值語(yǔ)句

復(fù)合賦值語(yǔ)句是使用+=、-=、*=、/=等運(yùn)算符構(gòu)成的賦值語(yǔ)句,這種語(yǔ)句首先需要完成特定的運(yùn)算然后再進(jìn)行賦值運(yùn)算操作。例如:intx=5;x+=6;strings="abcd";s+="efjh";

章節(jié)目錄上一頁(yè)下一頁(yè)2.連續(xù)賦值語(yǔ)句連續(xù)賦值語(yǔ)句是在一條語(yǔ)句中使用多個(gè)賦值運(yùn)算符進(jìn)行賦值的語(yǔ)句,這種語(yǔ)句可以一次為多個(gè)變量賦予相同的值。例如:intx,y,z;x=y=z=6;strings1,s2,s3;s1=s2=s3="efjh";

章節(jié)目錄上一頁(yè)下一頁(yè)

4.2輸入與輸出4.2.1控制臺(tái)應(yīng)用程序的輸入與輸出方法1.輸方入法Read與ReadLine方法的功能是接受從鍵盤(pán)上輸入的數(shù)據(jù)

例如:charc=(char)Console.Read();strings=Console.ReadLine();inti=int.Parse(Console.ReadLine());

章節(jié)目錄上一頁(yè)下一頁(yè)2.輸出方法Write與WriteLineConsole.Write("abcd");Console.WriteLine("abcd");格式化輸出。例如:

Console.WriteLine("{0};{1};{2}",10,20,30);Console.WriteLine("{0}{1},{2}","這兩個(gè)數(shù)是:",10,20);

章節(jié)目錄上一頁(yè)下一頁(yè)4.2.2Windows應(yīng)用程序的輸入與輸出

1.焦點(diǎn)與Tab鍵順序

焦點(diǎn)是控件接收用戶鼠標(biāo)或鍵盤(pán)輸入的能力。

GotFocus或LostFocus事件。獲得焦點(diǎn)的語(yǔ)法格式為:對(duì)象名稱.Focus();

章節(jié)目錄上一頁(yè)下一頁(yè)

所謂Tab鍵序指的是在用戶按下〈Tab〉鍵時(shí),焦點(diǎn)在控件間移動(dòng)的順序。通過(guò)設(shè)置TabIndex屬性來(lái)改變一個(gè)控件的Tab鍵順序。控件的TabIndex屬性決定了它在Tab鍵順序中的位置。按照缺省規(guī)定,第一個(gè)建立的控件其TabIndex值為0,第二個(gè)的TabIndex值為1,以此類推。將控件的TabStop屬性設(shè)為false,便可將此控件從鍵序中排除,但仍然保持它在實(shí)際Tab鍵序中的位置,只不過(guò)在按〈Tab〉鍵時(shí)這個(gè)控件將被跳過(guò)。

章節(jié)目錄上一頁(yè)下一頁(yè)2.使用標(biāo)簽與文本框?qū)崿F(xiàn)輸入與輸出從使用程序的用戶的角度看,文本框和標(biāo)簽控件的主要區(qū)別在于標(biāo)簽控件是一個(gè)只能向用戶顯示輸出數(shù)據(jù)的控件,而文本框控件既可以讓用戶在其中輸入數(shù)據(jù),也可以向用戶顯示輸出數(shù)據(jù)。3.使用鏈接標(biāo)簽

LinkColor設(shè)置控件中未被單擊過(guò)的文字顏色VisiteLinkColor設(shè)置控件中被單擊過(guò)的文字顏色ActiveLinkColor單擊鼠標(biāo)時(shí)文字的顏色

章節(jié)目錄上一頁(yè)下一頁(yè)LinkVisited超鏈接是否被訪問(wèn)過(guò),F(xiàn)alse表示未被訪問(wèn)過(guò)(默認(rèn)值)Links控件中所有鏈接的集合,屬于類LinkLabel.LinkConnectionLinkArea設(shè)置Text值(字符串)的鏈接子串LinkClicked用戶單擊LinkLabel控件時(shí)觸發(fā)的事件

章節(jié)目錄上一頁(yè)下一頁(yè)4.3使用圖片框與圖片列表控件4.3.1使用圖片框(PictureBox)圖片框控件PictureBox用來(lái)在窗體上顯示一個(gè)圖片。

圖片框的BorderStyle屬性可設(shè)置其邊框樣式:值None表示沒(méi)有邊框;FixedSingle表示單線邊框;Fixed3D表示立體邊框。

章節(jié)目錄上一頁(yè)下一頁(yè)SizeMode屬性值及說(shuō)明

AutoSize:PictureBox控件調(diào)整自身大小,使圖片能正好顯示其中CenterImage:若控件大于圖片則圖片居中;若圖片大于控件則圖片居中,超出控件的部分被剪切掉Normal:圖片顯示在控件左上角,若圖片大于控件則超出部分被剪切掉StretchImage:若圖片與控件大小不等,則圖片被拉伸或縮小以適應(yīng)控件

章節(jié)目錄上一頁(yè)下一頁(yè)5.1選擇結(jié)構(gòu)程序的設(shè)計(jì)在C#中,提供兩種選擇語(yǔ)句實(shí)現(xiàn)流程的改變:if語(yǔ)句,用于判斷特定的條件能否滿足,用于單分支選擇,也可以通過(guò)嵌套實(shí)現(xiàn)多分支選擇。switch語(yǔ)句,用于多分支選擇。

章節(jié)目錄上一頁(yè)下一頁(yè)5.2單分支選擇結(jié)構(gòu)(if語(yǔ)句)

if語(yǔ)句是程序設(shè)計(jì)中基本的選擇語(yǔ)句,它根據(jù)條件表達(dá)式的值選擇要執(zhí)行的后面的內(nèi)嵌語(yǔ)句序列。一般用于簡(jiǎn)單選擇,即選擇項(xiàng)中有一個(gè)或兩個(gè)分支,語(yǔ)句執(zhí)行的過(guò)程中根據(jù)不同的情況進(jìn)行選擇其中一個(gè)分支執(zhí)行。格式為:

if(布爾條件表達(dá)式)

內(nèi)嵌語(yǔ)句序列1;else

內(nèi)嵌語(yǔ)句序列2;圖5-1if語(yǔ)句的流程圖條件表達(dá)式內(nèi)嵌語(yǔ)句序列1內(nèi)嵌語(yǔ)句序列2TrueFalse圖5-1if語(yǔ)句的流程圖

章節(jié)目錄上一頁(yè)下一頁(yè)說(shuō)明:①若布爾表達(dá)式的值為真時(shí),程序執(zhí)行內(nèi)嵌語(yǔ)句序列1,否則執(zhí)行內(nèi)嵌語(yǔ)句序列2。②ifelse語(yǔ)句中,內(nèi)嵌語(yǔ)句序列1和內(nèi)嵌語(yǔ)句序列2可以是簡(jiǎn)單語(yǔ)句,也可以是復(fù)合語(yǔ)句。如果內(nèi)嵌語(yǔ)句序列中為多個(gè)執(zhí)行語(yǔ)句要使用花括號(hào)({…})組合為一個(gè)語(yǔ)句塊。③也可以省去else和內(nèi)嵌語(yǔ)句序列2,即當(dāng)程序滿足布爾表達(dá)式的值為真時(shí),執(zhí)行語(yǔ)句序列1。該結(jié)構(gòu)的流程圖如圖5-1所示。

章節(jié)目錄上一頁(yè)下一頁(yè)5.2.1if…else語(yǔ)句根據(jù)布爾條件表達(dá)式的值進(jìn)行判斷,當(dāng)該值為真時(shí)執(zhí)行if語(yǔ)句后的語(yǔ)句序列,當(dāng)為假時(shí),執(zhí)行else語(yǔ)句后的語(yǔ)句序列。該結(jié)構(gòu)一般用于兩種分支的選擇。下面結(jié)合實(shí)例介紹if…else語(yǔ)句的使用方法。【例5-1】某商店為了吸引顧客,采取以下優(yōu)惠活動(dòng):所購(gòu)商品在1000元以下的,打9折優(yōu)惠;所購(gòu)商品多于1000元的,打8折優(yōu)惠。試采用if語(yǔ)句實(shí)現(xiàn)該優(yōu)惠。

章節(jié)目錄上一頁(yè)下一頁(yè)分析:該問(wèn)題屬于數(shù)學(xué)分段函數(shù)問(wèn)題,當(dāng)所購(gòu)商品總額<1000元時(shí),打折后的商品總額為(所購(gòu)商品總額*0.9);當(dāng)所購(gòu)商品總額>1000時(shí),打折后的商品總額為(所購(gòu)商品總額*0.8)。(1)建立項(xiàng)目在VisualStudio.NET中,打開(kāi)“文件”菜單,依次選擇“新建→項(xiàng)目”命令,打開(kāi)“新建項(xiàng)目”對(duì)話框,選擇“VisualC#項(xiàng)目”,選擇“Windows應(yīng)用程序”輸入項(xiàng)目的名稱和存放位置。

圖5-2實(shí)現(xiàn)打折優(yōu)惠

章節(jié)目錄上一頁(yè)下一頁(yè)(2)設(shè)計(jì)窗體單擊工作區(qū)左側(cè)的“工具箱”或單擊工具欄上工具箱圖標(biāo),工具箱將顯示在工作區(qū)左側(cè)。添加相應(yīng)的控件。(3)編輯代碼選中按鈕控件,單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“查看代碼”命令,或通過(guò)“視圖”菜單中的“代碼”命令,切換到代碼視圖。也可以雙擊控件直接在事件中添加代碼。代碼為:

章節(jié)目錄上一頁(yè)下一頁(yè)privatevoidbutton1_Click(objectsender,System.EventArgse){doublek,m;k=double.Parse(tCost.Text);if(k<1000){m=k*0.9;}else{m=k*0.8;}pCost.Text=m.ToString();}

章節(jié)目錄上一頁(yè)下一頁(yè)(4)編譯、運(yùn)行程序單擊工具欄上的啟動(dòng)按鈕,或按〈F5〉鍵執(zhí)行程序,顯示W(wǎng)indows窗體。在“請(qǐng)輸入所購(gòu)商品的總金額”文本框中輸入相關(guān)金額,單擊【打折】按鈕,完成相應(yīng)的功能?!纠?-2】編輯框的PasswordChar屬性可以隱蔽用戶通過(guò)鍵盤(pán)輸入的字符,常用來(lái)編寫(xiě)檢查用戶口令的程序。使用選擇語(yǔ)句實(shí)現(xiàn)該操作。

分析:本題使用編輯框?qū)崿F(xiàn)命令接受工作,使用if語(yǔ)句實(shí)現(xiàn)判斷。采用基本的控件實(shí)現(xiàn)如圖5-4所示。圖5-4口令驗(yàn)證

章節(jié)目錄上一頁(yè)下一頁(yè)代碼如下。privatevoidbutton1_Click(objectsender,System.EventArgse){if(textBox1.Text=="abc")//設(shè)口令為“abc”label2.Text="歡迎使用本系統(tǒng)!";//如果輸入正確,顯示"歡迎使用本系統(tǒng)!"else//如果輸入不正確

label2.Text="對(duì)不起,您的口令有誤,您無(wú)權(quán)使用該系統(tǒng)!";}

章節(jié)目錄上一頁(yè)下一頁(yè)5.2.2if…else…if語(yǔ)句

if…else語(yǔ)句也可以用于多種分支的選擇結(jié)構(gòu),這種情況也就是if語(yǔ)句嵌套結(jié)構(gòu)。if語(yǔ)句中,內(nèi)嵌語(yǔ)句可以是復(fù)合語(yǔ)句,也就是說(shuō),內(nèi)嵌語(yǔ)句中可以包含選擇語(yǔ)句、循環(huán)語(yǔ)句等。那么,if語(yǔ)句可以嵌套,但應(yīng)注意if…else的配對(duì)問(wèn)題。在默認(rèn)情況下,else語(yǔ)句總是和最近的if語(yǔ)句配對(duì)。下面通過(guò)【例5-3】了解if語(yǔ)句的嵌套方法。

章節(jié)目錄上一頁(yè)下一頁(yè)【例5-3】將百分制成績(jī)轉(zhuǎn)換為五分制成績(jī)。轉(zhuǎn)換標(biāo)準(zhǔn)如下:90分以上為“優(yōu)秀”,80分以上為“良”,70分以上為“中”,60分以上為“及格”,60分以下為“不及格”。程序運(yùn)行結(jié)果如圖5-5左圖所示。

圖5-5成績(jī)轉(zhuǎn)換設(shè)計(jì)

章節(jié)目錄上一頁(yè)下一頁(yè)程序運(yùn)行時(shí),單擊【轉(zhuǎn)換】按鈕執(zhí)行的代碼如下:privatevoidbutton1_Click(objectsender,System.EventArgse)

{intk=int.Parse(textBox2.Text);if(k>90)textBox1.Text="優(yōu)";elseif(k>80)textBox1.Text="良";

章節(jié)目錄上一頁(yè)下一頁(yè)elseif(k>70)textBox1.Text="中";elseif(k>60)textBox1.Text="及格";elseif(k<60)//此指令可省略

textBox1.Text="不及格";}上例中使用了if語(yǔ)句的嵌套實(shí)現(xiàn),其中因?yàn)闂l件判斷后只用一個(gè)語(yǔ)句,如“textBox1.Text="良";”,所以,可以省略{},當(dāng)存在多條語(yǔ)句時(shí),要使用{}表示為一個(gè)語(yǔ)句塊。

1.break語(yǔ)句break語(yǔ)句用于停止貫穿語(yǔ)句的執(zhí)行。即在switch語(yǔ)句結(jié)構(gòu)中,break語(yǔ)句用于選擇分支的語(yǔ)句運(yùn)行。也可使用goto語(yǔ)句實(shí)現(xiàn)語(yǔ)句轉(zhuǎn)移,但是,應(yīng)盡量避免使用這種方法。2.default標(biāo)簽在switch語(yǔ)句中,常常用到default標(biāo)簽來(lái)處理不滿足case語(yǔ)句的值,定義default標(biāo)簽可以增強(qiáng)處理相應(yīng)的異常章節(jié)目錄上一頁(yè)下一頁(yè)【例5-5】某航空公司規(guī)定在旅游的旺季7~9月份,如果訂票數(shù)超過(guò)20張,票價(jià)優(yōu)惠15%,20張以下,優(yōu)惠5%;在旅游的淡季1~5月份、10月份、11月份,如果訂票數(shù)超過(guò)20張,票價(jià)優(yōu)惠30%,20張以下,優(yōu)惠20%;其他情況一律優(yōu)惠10%設(shè)計(jì)程序,根據(jù)月份和訂票張數(shù)決定票價(jià)的優(yōu)惠率(如圖5-8)

章節(jié)目錄上一頁(yè)下一頁(yè)圖5-8計(jì)算優(yōu)惠價(jià)該問(wèn)題屬于多分支選擇問(wèn)題。該問(wèn)題中旅游的淡季1~5月份、10月份、11月份的優(yōu)惠率一樣,在switch語(yǔ)句中,這幾種情況可以使用同一種操作;旅游的旺季7~9月份的優(yōu)惠率一樣,可以使用同一種操作。“計(jì)算優(yōu)惠率”按鈕實(shí)現(xiàn)代碼如下。privatevoidbutton1_Click(objectsender,System.EventArgse){ intmon; intsum;mon=Convert.ToInt32(textBox1.Text);sum=Convert.ToInt32(textBox2.Text);章節(jié)目錄上一頁(yè)下一頁(yè)

switch(mon){case1:case2:case3:case4:case5:case10:case11:if(sum>20)label3.Text="優(yōu)惠率為30%";elselabel3.Text="優(yōu)惠率為20%";break;case7:

章節(jié)目錄上一頁(yè)下一頁(yè)case8:case9:if(sum>20)label3.Text="優(yōu)惠率為15%";elselabel3.Text="優(yōu)惠率為5%";break;default:label3.Text="優(yōu)惠率為10%";break;

}}章節(jié)目錄上一頁(yè)下一頁(yè)5.4使用單選按鈕與復(fù)選框控件5.4.1單選按鈕(RadioButton)單選按鈕也叫選項(xiàng)按鈕,為用戶提供從多個(gè)選項(xiàng)中選擇一個(gè)選項(xiàng)的功能,因此單選按鈕顧名思義是一種“多選一”的控件。【例5-6】設(shè)計(jì)Windows應(yīng)用程序,單擊【顯示】按鈕,根據(jù)對(duì)單選按鈕的選擇,分別顯示日期或時(shí)間。程序運(yùn)行結(jié)果如圖5-11和圖5-12所示。章節(jié)目錄上一頁(yè)下一頁(yè)1.break語(yǔ)句break語(yǔ)句用于停止貫穿語(yǔ)句的執(zhí)行。即在switch語(yǔ)句結(jié)構(gòu)中,break語(yǔ)句用于選擇分支的語(yǔ)句運(yùn)行。也可使用goto語(yǔ)句實(shí)現(xiàn)語(yǔ)句轉(zhuǎn)移,但是,應(yīng)盡量避免使用這種方法。章節(jié)目錄上一頁(yè)下一頁(yè)(1)設(shè)計(jì)窗體和設(shè)置屬性章節(jié)目錄上一頁(yè)下一頁(yè)圖5-11顯示日期圖5-12顯示時(shí)間(2)設(shè)計(jì)代碼privatevoidbutton1_Click(objectsender,System.EventArgse){if(ShowDate.Checked)//顯示日期

lblDateTime.Text=DateTime.Now.Year+"年"+DateTime.Now.Month+"月"+DateTime.Now.Day+"日";if(ShowTime.Checked)//顯示時(shí)間

lblDateTime.Text=DateTime.Now.Hour+"時(shí)"+DateTime.Now.Minute+"分"+DateTime.Now.Second+"秒";}章節(jié)目錄上一頁(yè)下一頁(yè)

在編寫(xiě)程序過(guò)程中,往往出現(xiàn)相同類型操作需要重復(fù)出現(xiàn),如實(shí)現(xiàn)1+2+…+100,則需要做99次加法,這類問(wèn)題使用循環(huán)語(yǔ)句解決,可以使問(wèn)題變得簡(jiǎn)單。即循環(huán)語(yǔ)句用于實(shí)現(xiàn)語(yǔ)句塊的重復(fù)執(zhí)行。根據(jù)問(wèn)題的具體情況,C#中提供了四種不同的循環(huán)機(jī)制:for循環(huán)、while循環(huán)、do…while循環(huán)和foreach循環(huán)。這里介紹前三種循環(huán)機(jī)制,foreach循環(huán)將在數(shù)組中介紹。6.1for循環(huán)語(yǔ)句

for循環(huán)常常用于已知循環(huán)次數(shù)的情況,使用該循環(huán)時(shí),測(cè)試是否滿足某個(gè)條件,如果滿足條件,則進(jìn)入下一次循環(huán),否則,退出該循環(huán)。章節(jié)目錄上一頁(yè)下一頁(yè)6.1.1for語(yǔ)句的語(yǔ)法格式for循環(huán)語(yǔ)句格式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){循環(huán)語(yǔ)句序列;}其中表達(dá)式1用于參與循環(huán)條件變量的初始化,該表達(dá)式僅執(zhí)行一次;表達(dá)式2為條件判斷表達(dá)式,即每次循環(huán)體開(kāi)始之前,判斷該表達(dá)式是否成立,如果成立,進(jìn)入下一次循環(huán),否則,循環(huán)結(jié)束;表達(dá)式3用于參與循環(huán)條件變量的運(yùn)算,一般為遞增或遞減的循環(huán)計(jì)數(shù)器。循環(huán)語(yǔ)句序列用于描述重復(fù)執(zhí)行的語(yǔ)句,當(dāng)語(yǔ)句序列中僅含有一條語(yǔ)句時(shí),花括號(hào)可以省略。章節(jié)目錄上一頁(yè)下一頁(yè)流程圖如圖6-1所示。該結(jié)構(gòu)中,表達(dá)式1、表達(dá)式2、表達(dá)式3是可選的,但應(yīng)該注意死循環(huán)的發(fā)生。如表達(dá)式2省略,并且不采用轉(zhuǎn)移語(yǔ)句,會(huì)導(dǎo)致死循環(huán)的發(fā)生??梢栽谘h(huán)體中的任何位置放置break語(yǔ)句來(lái)強(qiáng)制終止for循環(huán)——隨時(shí)跳出for循環(huán)。break語(yǔ)句通常包含于if語(yǔ)句中。章節(jié)目錄上一頁(yè)下一頁(yè)圖6-1for循環(huán)流程圖6.1.2for循環(huán)語(yǔ)句的使用根據(jù)下面的實(shí)例,了解for語(yǔ)句的工作流程及實(shí)現(xiàn)方法?!纠?-1】計(jì)算1+2+3+…100。使用for語(yǔ)句實(shí)現(xiàn)。分析:該問(wèn)題屬于重復(fù)執(zhí)行加法的問(wèn)題,并且參與運(yùn)算的兩個(gè)操作數(shù)不斷的按規(guī)律增加。該類問(wèn)題可以通過(guò)循環(huán)進(jìn)行解決。(1)建立項(xiàng)目(2)設(shè)計(jì)窗體(3)設(shè)計(jì)代碼章節(jié)目錄上一頁(yè)下一頁(yè)在窗體設(shè)計(jì)圖上,雙擊按鈕button1編寫(xiě)【計(jì)算】按鈕的Click(單擊)事件代碼為:privatevoidbutton1_Click(objectsender,System.EventArgse){intsum;sum=0;for(intk=1;k<=100;k=k+1){sum=sum+k;}label1.Text="從1加到100值為"+sum.ToString();}章節(jié)目錄上一頁(yè)下一頁(yè)

程序的運(yùn)行結(jié)果如圖6-2所示的左圖,單擊“計(jì)算”按鈕,將在標(biāo)簽上顯示運(yùn)行結(jié)果。章節(jié)目錄上一頁(yè)下一頁(yè)圖6-2程序運(yùn)行結(jié)果【例6-2】計(jì)算n!,假設(shè)n=10。分析:該例實(shí)現(xiàn)階乘的運(yùn)算,可以使用改變乘數(shù)的值進(jìn)行實(shí)現(xiàn),使用循環(huán)可以方便的實(shí)現(xiàn)該類問(wèn)題。程序的運(yùn)行結(jié)果如圖6-3左圖所示。章節(jié)目錄上一頁(yè)下一頁(yè)圖6-3計(jì)算n!編寫(xiě)【計(jì)算】按鈕的Click(單擊)事件代碼為:privatevoidbutton1_Click(objectsender,System.EventArgse){intsum,k;sum=1;for(k=1;k<=10;k++){sum=sum*k;}textBox1.Text=sum.ToString();}章節(jié)目錄上一頁(yè)下一頁(yè)6.2while循環(huán)語(yǔ)句與for循環(huán)語(yǔ)句比較,while語(yǔ)句使用的頻率要低一些,它可以用于不知道循環(huán)次數(shù)的情況;用于在循環(huán)時(shí)判斷是否滿足某個(gè)條件。每一次在循環(huán)的頂部進(jìn)行檢測(cè)循環(huán)是否繼續(xù),當(dāng)循環(huán)的條件為假時(shí),退出循環(huán)。6.2.1while循環(huán)語(yǔ)句的語(yǔ)法格式while循環(huán)語(yǔ)句的格式為:while(布爾條件表達(dá)式){語(yǔ)句序列;}布爾條件表達(dá)式是每次循環(huán)開(kāi)始前進(jìn)行判斷的條件,當(dāng)條件表達(dá)式的值為真時(shí),執(zhí)行循環(huán);否則,退出循環(huán)。該語(yǔ)句結(jié)構(gòu)的流程圖如圖6-4所示。章節(jié)目錄上一頁(yè)下一頁(yè)說(shuō)明如下:①布爾條件表達(dá)式是一個(gè)具有boolean值的條件表達(dá)式,為循環(huán)的條件。②作為循環(huán)體的語(yǔ)句序列可以是簡(jiǎn)單語(yǔ)句、復(fù)合語(yǔ)句和其他結(jié)構(gòu)語(yǔ)句。③while循環(huán)的執(zhí)行過(guò)程:首先計(jì)算條件表達(dá)式的值,如果為真(True),則執(zhí)行后面的循環(huán)體,執(zhí)行完后,再開(kāi)始一個(gè)新的循環(huán);如果為假(False),則終止循環(huán),執(zhí)行循環(huán)體后面的語(yǔ)句。章節(jié)目錄上一頁(yè)下一頁(yè)④可以在循環(huán)體中的任何位置放置break語(yǔ)句來(lái)強(qiáng)制終止while循環(huán)——隨時(shí)跳出while循環(huán)。break語(yǔ)句通常包含于if語(yǔ)句中。⑤可以在循環(huán)體中的任何位置放置continue語(yǔ)句,在整個(gè)循環(huán)體沒(méi)有執(zhí)行完就重新判斷條件,以決定是否開(kāi)始新的循環(huán)。continue語(yǔ)句通常包含于if語(yǔ)句中。章節(jié)目錄上一頁(yè)下一頁(yè)圖6-4while程序流程圖6.2.2while循環(huán)語(yǔ)句的使用【例6-3】設(shè)有一張厚為xmm,面積足夠大的紙,將它不斷地對(duì)折。試問(wèn)對(duì)折多少次后,其厚度可達(dá)珠穆朗瑪峰的高度(8844.43m)。設(shè)對(duì)折后紙的厚度為hmm,計(jì)數(shù)器為n。在沒(méi)有對(duì)折時(shí),紙厚為xmm,每對(duì)折一次,其厚度是上一次的2倍,在未到達(dá)8844.43m時(shí),重復(fù)對(duì)折。在程序中,紙的厚度就是對(duì)折后紙的厚度,所以用一個(gè)變量h。章節(jié)目錄上一頁(yè)下一頁(yè)建立應(yīng)用程序用戶界面與設(shè)置對(duì)象屬性,如圖6-5所示。章節(jié)目錄上一頁(yè)下一頁(yè)圖6-5用戶界面及程序運(yùn)行結(jié)果章節(jié)目錄上一頁(yè)下一頁(yè)【計(jì)算】按鈕的Click(單擊)事件代碼為:privatevoidbutton1_Click(objectsender,System.EventArgse){intn=0;floath;h=float.Parse(textBox1.Text);while(h<8844430){n=n+1;h=2*h;}textBox2.Text=n.ToString();}程序運(yùn)行結(jié)果如圖6-5所示。章節(jié)目錄上一頁(yè)下一頁(yè)6.3do…while循環(huán)do…while循環(huán)非常類似于while循環(huán)。一般情況下,可以相互轉(zhuǎn)換使用。它們之間的差別在于while循環(huán)的測(cè)試條件在每一次循環(huán)開(kāi)始時(shí)執(zhí)行,而do…while循環(huán)的測(cè)試條件在每一次循環(huán)體結(jié)束時(shí)進(jìn)行判斷。同樣的,do…while可以解決一些循環(huán)問(wèn)題,但使用的頻率較少。6.3.1do…while的語(yǔ)法格式do…while語(yǔ)法的一般格式為:do{語(yǔ)句序列;}while(布爾條件表達(dá)式)章節(jié)目錄上一頁(yè)下一頁(yè)6.3.2do…while的使用【例6-4】使用do…while語(yǔ)句實(shí)現(xiàn)1+2+3+…100。窗體及控件的屬性設(shè)計(jì)見(jiàn)【例6-1】?!居?jì)算】按鈕的Click(單擊)事件代碼為:privatevoidbutton1_Click(objectsender,System.EventArgse){intsum;sum=0;intk=1;

章節(jié)目錄上一頁(yè)下一頁(yè)do{sum=sum+k;k=k+1;}while(k<=100);label1.Text="從1加到100值為"+sum.ToString();//將sum顯式轉(zhuǎn)換為字符串}章節(jié)目錄上一頁(yè)下一頁(yè)6.5循環(huán)的嵌套當(dāng)一個(gè)循環(huán)(稱為“外循環(huán)”)的循環(huán)語(yǔ)句序列內(nèi)包含另一個(gè)循環(huán)(稱為“內(nèi)循環(huán)”),稱為循環(huán)的嵌套,這種語(yǔ)句結(jié)構(gòu)稱為多重循環(huán)結(jié)構(gòu)。內(nèi)循環(huán)中還以包含循環(huán),形成多層循環(huán)(循環(huán)嵌套的層數(shù)理論上無(wú)限制)。三種循環(huán)(while循環(huán)、do…while循環(huán)、for循環(huán))可以互相嵌套。在多重循環(huán)中,需要注意的是循環(huán)語(yǔ)句所在循環(huán)的層數(shù)。如以下代碼:intsum=0;for(inti=1;i<=10;i=i+1)for(intk=1;k<=i;k=k+1)sum=sum+k;章節(jié)目錄上一頁(yè)下一頁(yè)【例6-6】編程實(shí)現(xiàn)九九乘法表。分析:本例中實(shí)現(xiàn)每一個(gè)一位數(shù)i顯示從1乘到i,對(duì)于i的取值要從取到9,所以可以使用兩重循環(huán)實(shí)現(xiàn),程序設(shè)計(jì)如圖6-8所示。使用label1控件實(shí)現(xiàn)乘法表的顯示。章節(jié)目錄上一頁(yè)下一頁(yè)圖6-8九九乘法表本例的界面設(shè)計(jì)如圖6-8右圖,使用label1控件實(shí)現(xiàn)乘法表的顯示。本例使用兩重循環(huán)實(shí)現(xiàn),其中外層循環(huán)實(shí)現(xiàn)乘法表中第二乘數(shù)i取值范圍為1到9,內(nèi)層循環(huán)在外層循環(huán)的基礎(chǔ)上計(jì)算第一個(gè)乘數(shù)k的取值范圍為1到i,其乘積以及表達(dá)式在label控件中顯示。運(yùn)行結(jié)果如圖6-8左圖所示?!揪啪懦朔ū怼堪粹o的Click(單擊)事件代碼為:privatevoidbutton1_Click(objectsender,System.EventArgse){label1.Text="";strings="";intsum;

章節(jié)目錄上一頁(yè)下一頁(yè)for(inti=1;i<10;i=i+1){s="";for(intk=1;k<=i;k=k+1){sum=k*i;s=s+k.ToString()+"×"+i.ToString()+"="+sum.ToString()+";";}label1.Text+=s+"\n";//顯示并換行

}}章節(jié)目錄上一頁(yè)下一頁(yè)6.4跳轉(zhuǎn)語(yǔ)句使用跳轉(zhuǎn)語(yǔ)句,可以使程序執(zhí)行跳轉(zhuǎn)到程序中其它部分。C#中提供四種轉(zhuǎn)移語(yǔ)句:goto語(yǔ)句、break語(yǔ)句、continue語(yǔ)句、return語(yǔ)句。1.goto語(yǔ)句

goto語(yǔ)句可以將程序控制直接轉(zhuǎn)移給標(biāo)簽制定的語(yǔ)句。但由于goto語(yǔ)句改變了程序的正常流程,使得程序特別容易出錯(cuò),所以盡量不要用。而且,用goto語(yǔ)句實(shí)現(xiàn)的循環(huán)完全可以用循環(huán)語(yǔ)句實(shí)現(xiàn),因此,goto語(yǔ)句很少使用。章節(jié)目錄上一頁(yè)下一頁(yè)2.break語(yǔ)句在第5章中介紹了break在switch中的用法,break語(yǔ)句也可以用于退出所在的最近循環(huán),使用break語(yǔ)句時(shí),將結(jié)束循環(huán),執(zhí)行后面的語(yǔ)句。break不能放在循環(huán)語(yǔ)句或switch語(yǔ)句后,否則發(fā)生錯(cuò)誤。3.continue語(yǔ)句continue語(yǔ)句用于循環(huán)語(yǔ)句中,類似于break語(yǔ)句,但僅從當(dāng)前的循環(huán)迭代中退出,然后執(zhí)行下一次迭代循環(huán)?!纠?-10】使用計(jì)數(shù)器循環(huán)語(yǔ)句了解continue語(yǔ)句的使用,要求輸出大于5的數(shù)章節(jié)目錄上一頁(yè)下一頁(yè)本例使用控制臺(tái)程序?qū)崿F(xiàn)?!居?jì)算】按鈕的Click(單擊)事件代碼為:staticvoidMain(string[]args){for(inti=1;i<=10;i=i+1){if(i<5)continue;Console.WriteLine(i);}Console.ReadLine();}章節(jié)目錄上一頁(yè)下一頁(yè)本程序的運(yùn)行結(jié)果為5678910該例中當(dāng)i<5時(shí)通過(guò)continue退出本次循環(huán),所以運(yùn)行結(jié)果中不顯示1、2、3、4數(shù)字。章節(jié)目錄上一頁(yè)下一頁(yè)6.5列表框和組合框6.5.1列表框(ListBox)ListBox控件為用戶提供了選項(xiàng)的列表,用戶可以從列表中進(jìn)行選擇輸入。如果項(xiàng)目數(shù)目超過(guò)列表框可顯示的數(shù)目,控件上將自動(dòng)出現(xiàn)滾動(dòng)條,它是一種規(guī)范輸入的好工具。1.列表框的常用屬性、方法和事件2.列表框應(yīng)用實(shí)例【例6-11】計(jì)算并輸出從sum=1+…+(k-1)+k。滿足sum>1000是退出循環(huán)。章節(jié)目錄上一頁(yè)下一頁(yè)分析:該例屬于循環(huán)中語(yǔ)句轉(zhuǎn)移的情況,本例中使用listBox控件用于顯示sum的值,使用button控件實(shí)現(xiàn)該事件。程序設(shè)計(jì)如圖6-12所示。章節(jié)目錄上一頁(yè)下一頁(yè)圖6-12計(jì)算sum的值【計(jì)算】按鈕的Click(單擊)事件代碼為:privatevoidbutton1_Click(objectsender,System.EventArgse){intk=1;intsum=0;while(k<100){sum=sum+k;listBox1.Items.Add("0+…"+k.ToString()+"="+sum.ToString());k=k+1;if(sum>1000)break;}}章節(jié)目錄上一頁(yè)下一頁(yè)6.5.2組合框(ComboBox)組合框是一個(gè)文本框和一個(gè)列表框的組合。與列表框不同的是列表框只能在給定的列表項(xiàng)中選擇,而組合框除了可在給定的列表項(xiàng)中選擇還可以直接在文本框中輸入(DropDownStyle屬性被設(shè)置DropDownList時(shí)除外)。1.ComboBox常用屬性和事件2.ComboBox應(yīng)用實(shí)例章節(jié)目錄上一頁(yè)下一頁(yè)【例6-12】要求單擊【開(kāi)始】按鈕,將兩個(gè)組合框中指定的年份范圍內(nèi)的所有閏年輸出到列表框中。圖6-14為顯示1955~2005年之間的所有閏年的結(jié)果。章節(jié)目錄上一頁(yè)下一頁(yè)

圖6-14程序運(yùn)行結(jié)果(1)設(shè)計(jì)程序界面。(2)設(shè)置對(duì)象屬性。(3)編寫(xiě)程序代碼。privatevoidbtnStart_Click(objectsender,System.EventArgse){//如果任一組合框中沒(méi)有選定年份,則不執(zhí)行任何操作

if(cboStart.SelectedIndex==-1||cboEnd.SelectedIndex==-1){return;}章節(jié)目錄上一頁(yè)下一頁(yè)intyearStart=int.Parse(cboStart.SelectedItem.ToString());intyearEnd=int.Parse(cboEnd.SelectedItem.ToString());if(yearStart>yearEnd)return;lstOut.Items.Clear();//清除上次判斷顯示的內(nèi)容

for(inti=yearStart;i<=yearEnd;i=i+1)if(i%4==0&&i%100!=0||i%400==0)lstOut.Items.Add(i);//將閏年的年份追加到列表框}章節(jié)目錄上一頁(yè)下一頁(yè)【清除】按鈕被單擊時(shí)執(zhí)行的事件代碼如下:privatevoidbtnClear_Click(objectsender,System.EventArgse){lstOut.Items.Clear();//清空列表}章節(jié)目錄上一頁(yè)下一頁(yè)6.6使用計(jì)時(shí)器控件(Timer)計(jì)時(shí)器(Timer)控件在工具箱的圖標(biāo)為,它是一種無(wú)需用戶干預(yù),按一定時(shí)間間隔周期性地自動(dòng)觸發(fā)事件的控件。一般用來(lái)檢查系統(tǒng)時(shí)間,判斷是否該執(zhí)行某項(xiàng)任務(wù),也可以用于后臺(tái)處理。Timer控件在程序運(yùn)行時(shí)是不可見(jiàn)的,所以將其添加到窗體后顯示在窗體設(shè)計(jì)器下方的組件窗格中。6.6.1計(jì)時(shí)器控件的屬性、方法和事件Timer控件的主要屬性、方法和事件見(jiàn)表6-4。在計(jì)時(shí)器的Tick事件中設(shè)計(jì)的程序代碼,會(huì)在該事件不斷被觸發(fā)的過(guò)程中,重復(fù)執(zhí)行,從這一點(diǎn)看,計(jì)時(shí)器具有循環(huán)語(yǔ)句的功能。章節(jié)目錄上一頁(yè)下一頁(yè)(2)設(shè)置對(duì)象屬性。章節(jié)目錄上一頁(yè)下一頁(yè)

圖6-19運(yùn)行結(jié)果添加代碼以保證窗口被激活時(shí)txtNumber控件獲得焦點(diǎn),代碼如下:privatevoidForm1_Activated(objectsender,System.EventArgse){txtNumber.Focus();//輸入文本框獲得焦點(diǎn)}章節(jié)目錄上一頁(yè)下一頁(yè)用上面同樣方法,選中txtNumber(textBox3)控件,在如圖6-24所示的窗口中雙擊KeyPress,為控件txtNumber添加KeyPress(鍵盤(pán)事件)代碼如下:privatevoidtxtNumber_KeyPress(objectsender,System.Windows.Forms.KeyPressEventArgse){if(e.KeyChar=='\r')//按〈Enter〉鍵則執(zhí)行下面的代碼(開(kāi)始倒計(jì)時(shí))

{if(txtNumber.Text=="")章節(jié)目錄上一頁(yè)下一頁(yè)return;remainder=Convert.ToUInt32(txtNumber.Text)*60;//將分鐘換算為秒

timer2.Enabled=false;//第2個(gè)計(jì)時(shí)器終止工作

timer1.Enabled=true;//第1個(gè)計(jì)時(shí)器開(kāi)始工作

lblTimeEnd.Visible=true;//顯示控件

txtTimeEnd.Visible=true;//顯示控件

lblTimeStart.Text="開(kāi)始時(shí)間:";//更換標(biāo)簽標(biāo)題

}}章節(jié)目錄上一頁(yè)下一頁(yè)雙擊控件timer2添加事件代碼如下:privatevoidtimer2_Tick(objectsender,System.EventArgse){//在txtTimeStart文本框中顯示時(shí)間

txtTimeStart.Text

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論