本書以Visual Studio 2013為程序設(shè)計(jì)系統(tǒng), 全面細(xì)致地介紹了C#可視化面向?qū)ο缶幊痰母拍詈头椒。本書以Windows應(yīng)用程序?yàn)橹骶,以學(xué)以致用為主導(dǎo),充分考慮了學(xué)習(xí)的趣味性、難度的分散性,以分階段、劃任務(wù)的項(xiàng)目教學(xué)方法加強(qiáng)知識(shí)點(diǎn)的掌握,力求使讀者通過本書的學(xué)習(xí),能較快地具備開發(fā)應(yīng)用程序的基本能力,為進(jìn)一步深入學(xué)習(xí)編程打下良好的基礎(chǔ)。
本書共分 10 章,主要內(nèi)容包括:C#程序設(shè)計(jì)概述、C#語言基礎(chǔ)、面向?qū)ο蟪绦蛟O(shè)計(jì)、開發(fā)Windows 窗體應(yīng)用程序、文件操作、圖形圖像編程、鍵盤和鼠標(biāo)事件、創(chuàng)建數(shù)據(jù)庫應(yīng)用程序、使用三層架構(gòu)實(shí)現(xiàn)客戶管理、數(shù)據(jù)庫應(yīng)用案例——圖書管理系統(tǒng)等。
本書適合作為高等職業(yè)學(xué)校Visual C#課程的教材,還可作為Visual C#技術(shù)培訓(xùn)、Visual C#入門和應(yīng)用程序開發(fā)的參考用書。
本書遵循易學(xué)、易用的原則,以基本原理、基本方法為主導(dǎo),程序設(shè)計(jì)中的操作以詳盡的表述結(jié)合圖例來說明
在內(nèi)容編排上,案例導(dǎo)入,由簡(jiǎn)到繁,從C#基礎(chǔ)到Windows高級(jí)編程都做了講解,每個(gè)部分都設(shè)置了相應(yīng)的案例。
C#(讀作 C-sharp)編程語言是由微軟公司的 Anders Hejlsberg和 Scott Willamette領(lǐng)導(dǎo)的開發(fā)小組專門為了生成在.NET Framework上運(yùn)行的各種應(yīng)用程序而設(shè)計(jì)的編程語言。C#具有“簡(jiǎn)單、現(xiàn)代、通用” ,以及面向?qū)ο蟮某绦蛟O(shè)計(jì)等特點(diǎn),此種語言的實(shí)現(xiàn),應(yīng)提供對(duì)于以下軟件工程要素的支持:強(qiáng)類型檢查、數(shù)組維度檢查、未初始化的變量引用檢測(cè)、自動(dòng)垃圾收集(Garbage Collection,指一種自動(dòng)內(nèi)存釋放技術(shù)) ;并且為在分布式環(huán)境中的開發(fā)提供適用的組件。Visual Studio通過功能齊全的代碼編輯器、編譯器、項(xiàng)目模板、設(shè)計(jì)器和代碼向?qū),?shí)現(xiàn)了對(duì) Visual C#的強(qiáng)大支持。
本書遵循易學(xué)、易用的原則,以基本原理、基本方法為主導(dǎo),程序設(shè)計(jì)中的操作以詳盡的表述結(jié)合圖例來說明,以便讀者對(duì)每一步操作清清楚楚;在內(nèi)容編排上,遵循循序漸進(jìn)的原則,案例導(dǎo)入,由簡(jiǎn)到繁,從 C#基礎(chǔ)到 Windows高級(jí)編程都做了講解,每個(gè)部分都設(shè)置了相應(yīng)的案例。通過本書的學(xué)習(xí),可以快速了解并掌握 C#項(xiàng)目開發(fā)所需的各種知識(shí)和技能,提高利用 C#開發(fā) Windows應(yīng)用程序的能力。
全書共分為 10章:第 1章為 C#程序設(shè)計(jì)概述;第 2章為 C#語言基礎(chǔ),主要介紹數(shù)據(jù)類型、C#變量、數(shù)據(jù)類型轉(zhuǎn)換、表達(dá)式語句、程序的流程控制語句等;第 3章為面向?qū)ο蟪绦蛟O(shè)計(jì),主要講解 C#中面向?qū)ο蟪绦蛟O(shè)計(jì)的類定義、類的組成、對(duì)象創(chuàng)建、靜態(tài)成員、靜態(tài)方法及參數(shù)傳遞等基本技術(shù);第 4 章為開發(fā) Windows 窗體應(yīng)用程序,介紹了常見的Windows 窗體控件的使用;第 5 章為文件操作,主要介紹了管理文件系統(tǒng)的常用類、讀/寫文件的方法;第 6 章為圖形圖像編程,由畫圖導(dǎo)入 GDI+繪圖,由直觀作圖導(dǎo)入 C#應(yīng)用;第 7 章為鍵盤和鼠標(biāo)事件,利用鍵盤事件可以編程響應(yīng)多種鍵盤操作并可以檢測(cè)鼠標(biāo)的位置;第 8 章為創(chuàng)建數(shù)據(jù)庫應(yīng)用程序,通過 ADO.NET 中提供的數(shù)據(jù)訪問類,實(shí)現(xiàn)數(shù)據(jù)的增加、刪除、更改、查詢操作;第 9 章為使用三層架構(gòu)實(shí)現(xiàn)客戶管理,講解了如何在管理系統(tǒng)中使用三層架構(gòu);第 10章為數(shù)據(jù)庫應(yīng)用案例——圖書管理系統(tǒng),通過案例介紹了項(xiàng)目方案的設(shè)計(jì)與實(shí)現(xiàn)方法。
本書深入淺出,并輔以大量的案例說明,適合高等職業(yè)學(xué)校作為教材,還可作為相關(guān)軟件開發(fā)人員的參考用書。
本書由薛海燕(鄭州航空工業(yè)管理學(xué)院) 、武書彥(河南牧業(yè)經(jīng)濟(jì)學(xué)院) 、馬金素(河南牧業(yè)經(jīng)濟(jì)學(xué)院)任主編,由吳慧玲(河南牧業(yè)經(jīng)濟(jì)學(xué)院) 、于康娟(太原城市職業(yè)技術(shù)學(xué)院) 、王輝(河南牧業(yè)經(jīng)濟(jì)學(xué)院) 、任艷斐(濮陽職業(yè)技術(shù)學(xué)院)任副主編。
由于編者水平有限,加之時(shí)間倉促,書中的疏漏和不妥之處在所難免,敬請(qǐng)讀者批評(píng)指正。
為了便于教師教學(xué),本書的教學(xué)課件和例題源代碼,可從51eds下載。
編 者
2016年6月
薛海燕,鄭州航空工業(yè)管理學(xué)院教師、武書彥:河南牧業(yè)經(jīng)濟(jì)學(xué)院教師、馬金素:河南牧業(yè)經(jīng)濟(jì)學(xué)院教師。
第 1 章 C#程序設(shè)計(jì)概述.... 1
1.1 C#概述 ....... 1
1.1.1 C#編程語言概述......... 1
1.1.2 用C#能編寫的應(yīng)用程序.............. 2
1.2 C#的開發(fā)環(huán)境........ 3
1.2.1 Microsoft Visual Studio 3
1.2.2 Microsoft .NET Framework............. 3
1.2.3 C#、Visual Studio 和.NET Framework 之間的關(guān)系.. 4
1.2.4 安裝 Visual Studio 2013............... 5
1.2.5 初次運(yùn)行 Visual Studio 2013 ...... 5
1.2.6 Visual Studio 2013 集成開發(fā)環(huán)境............ 7
1.3 C#程序概述 8
1.3.1 創(chuàng)建一個(gè) C#控制臺(tái)應(yīng)用程序..... 8
1.3.2 創(chuàng)建一個(gè) Windows 窗體應(yīng)用程序......... 10
1.3.3 區(qū)分 C#的解決方案與項(xiàng)目的關(guān)系........ 15
1.3.4 C#應(yīng)用程序文件的結(jié)構(gòu)........... 17
1.4 綜合應(yīng)用.. 19
上機(jī)實(shí)驗(yàn)........... 20
第 2 章 C#語言基礎(chǔ)......... 21
2.1 C#的基本語法...... 21
2.1.1 C#程序代碼基本書寫規(guī)則 ....... 21
2.1.2 C#的關(guān)鍵字和標(biāo)識(shí)符............... 23
2.2 C#中的數(shù)據(jù)類型 .. 24
2.2.1 C#的數(shù)據(jù)類型概述... 25
2.2.2 簡(jiǎn)單數(shù)值類型........... 26
2.2.3 復(fù)合數(shù)值類型........... 29
2.2.4 引用類型 .. 31
2.3 常量和變量.......... 35
2.3.1 變量.......... 35
2.3.2 常量.......... 40
2.3.3 類型轉(zhuǎn)換 .. 42
2.4 C#中的運(yùn)算符和表達(dá)式....... 45
2.4.1 運(yùn)算符...... 45
2.4.2 表達(dá)式...... 50
2.5 順序結(jié)構(gòu).. 52
2.6 選擇結(jié)構(gòu).. 53
2.6.1 if 語句....... 53
2.6.2 if 多分支結(jié)構(gòu) ........... 54
2.6.3 if 語句的嵌套 ........... 56
2.6.4 switch 結(jié)構(gòu) ............... 58
2.7 循環(huán)結(jié)構(gòu).. 61
2.7.1 while 循環(huán)語句 ......... 61
2.7.2 do...while 循環(huán)語句... 62
2.7.3 for 循環(huán)語句 ............. 63
2.8 跳轉(zhuǎn)語句.. 64
2.8.1 break 語句. 64
2.8.2 continue 語句............ 65
2.8.3 try...catch 語句.......... 66
2.9 綜合應(yīng)用.. 67
上機(jī)實(shí)驗(yàn)........... 70
第 3 章 面向?qū)ο蟪绦蛟O(shè)計(jì) ............... 72
3.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述....... 72
3.2 類和對(duì)象.. 72
3.2.1 認(rèn)識(shí)類成員............... 73
3.2.2 類.. 73
3.2.3 定義類成員............... 73
3.2.4 聲明對(duì)象及其成員的訪問........ 76
3.3 類的方法.. 79
3.3.1 聲明與調(diào)用方法....... 79
3.3.2 方法的參數(shù)類型....... 81
3.3.3 方法的重載............... 83
3.4 類的構(gòu)造函數(shù) ...... 84
3.4.1 聲明構(gòu)造函數(shù)........... 85
3.4.2 重載構(gòu)造函數(shù)........... 86
3.5 靜態(tài)成員.. 87
3.5.1 靜態(tài)數(shù)據(jù)成員........... 88
3.5.2 靜態(tài)方法 .. 88
3.6 繼承和多態(tài).......... 90
3.6.1 繼承.......... 90
3.6.2 多態(tài).......... 91
3.7 綜合應(yīng)用.. 92
上機(jī)實(shí)驗(yàn)........... 95
第 4 章 開發(fā)Windows 窗體應(yīng)用程序.. 96
4.1 窗體.......... 96
4.1.1 窗體的主要屬性....... 96
4.1.2 窗體的常用事件....... 97
4.1.3 窗體的常用方法....... 97
4.2 窗體控件.. 98
4.2.1 文本類控件............... 98
4.2.2 圖形類控件............... 98
4.2.3 命令類控件..............100
4.2.4 選擇類控件..............101
4.2.5 列表類控件..............104
4.2.6 容器類控件..............111
4.2.7 選項(xiàng)卡控件..............112
4.2.8 狀態(tài)條控件..............113
4.3 菜單和工具欄 .....114
4.3.1 菜單欄.....114
4.3.2 工具欄.....115
4.3.3 快捷菜單 .116
4.4 對(duì)話框.....116
4.4.1 模式和非模式對(duì)話框 ..............116
4.4.2 通用對(duì)話框..............117
4.4.3 消息框.....119
4.5 綜合應(yīng)用.121
上機(jī)實(shí)驗(yàn)..........123
第 5 章 文件操作........... 124
5.1 管理文件與文件夾..............124
5.1.1 管理文件夾..............124
5.1.2 管理文件 .128
5.2 使用流讀/寫文件 130
5.2.1 認(rèn)識(shí)流.....130
5.2.2 讀/寫文本文件.........131
5.2.3 讀/寫二進(jìn)制文件.....133
5.3 綜合應(yīng)用.134
上機(jī)實(shí)驗(yàn)..........135
第 6 章 圖形圖像編程.... 136
6.1 GDI+繪圖基礎(chǔ).....136
6.1.1 GDI+基類的主要命名空間......136
6.1.2 Graphics 類..............136
6.2 筆、畫筆與顏色..137
6.2.1 筆.137
6.2.2 畫筆.........138
6.2.3 顏色.........138
6.3 繪制幾何圖形 .....139
6.3.1 繪制直線 .139
6.3.2 繪制矩形 .141
6.3.3 繪制橢圓 .142
6.3.4 繪制圓弧 .143
6.3.5 繪制多邊形..............144
6.3.6 圖形填充 .146
6.4 GDI+繪制字符串.147
6.5 圖像處理.149
6.6 綜合應(yīng)用.151
上機(jī)實(shí)驗(yàn)..........152
第 7 章 鍵盤和鼠標(biāo)事件. 154
7.1 鍵盤事件.154
7.1.1 處理 KeyPress 事件 .154
7.1.2 處理 KeyDown 和 KeyUp 事件.156
7.2 鼠標(biāo)事件.159
7.2.1 鼠標(biāo)事件發(fā)生的順序 ..............159
7.2.2 MouseDown 和 MouseUp 事件..159
7.2.3 MouseMove 事件 ......161
7.3 綜合應(yīng)用.162
上機(jī)實(shí)驗(yàn)..........164
第 8 章 創(chuàng)建數(shù)據(jù)庫應(yīng)用程序.......... 165
8.1 數(shù)據(jù)庫基礎(chǔ)知識(shí)..165
8.1.1 有關(guān)數(shù)據(jù)庫的概念 ..165
8.1.2 關(guān)系型數(shù)據(jù)庫..........165
8.2 數(shù)據(jù)庫系統(tǒng).........166
8.2.1 Microsoft Office Access ..............166
8.2.2 Microsoft SQL Server 167
8.3 SQL 查詢基礎(chǔ)......169
8.3.1 查詢語句 Select ......169
8.3.2 插入語句 Insert.......170
8.3.3 刪除語句 Delete......170
8.3.4 更新語句 Update.....170
8.4 訪問數(shù)據(jù)庫.........170
8.4.1 手動(dòng)操作實(shí)現(xiàn)數(shù)據(jù)庫的連接和增刪改操作.........170
8.4.2 編程實(shí)現(xiàn)數(shù)據(jù)庫的連接和增刪改操作.174
8.4.3 理解多表查詢應(yīng)用實(shí)例...........180
8.5 綜合應(yīng)用.181
上機(jī)實(shí)驗(yàn)..........184
第 9 章 使用三層架構(gòu)實(shí)現(xiàn)客戶管理... 185
9.1 應(yīng)用架構(gòu)的目的..185
9.2 三層架構(gòu)的概念..185
9.3 使用三層架構(gòu)實(shí)現(xiàn)客戶管理...............187
9.3.1 設(shè)計(jì)數(shù)據(jù)訪問層......187
9.3.2 設(shè)計(jì)數(shù)據(jù)訪問通用類庫.............192
9.3.3 設(shè)計(jì)實(shí)體類庫..........194
9.3.4 設(shè)計(jì)業(yè)務(wù)邏輯層......197
9.3.5 設(shè)計(jì)表示層..............197
9.4 使用工廠模式三層架構(gòu)......202
9.4.1 理解完全解耦..........202
9.4.2 設(shè)計(jì)接口類庫..........204
9.4.3 設(shè)計(jì)工廠類庫..........205
9.4.4 修改其他層的代碼..206
上機(jī)實(shí)驗(yàn)..........207
第 10 章 數(shù)據(jù)庫應(yīng)用案例——圖書管理系統(tǒng) 208
10.1 系統(tǒng)分析與設(shè)計(jì)208
10.1.1 需求分析 ...............208
10.1.2 數(shù)據(jù)庫設(shè)計(jì)............209
10.1.3 系統(tǒng)設(shè)計(jì) ...............211
10.2 系統(tǒng)實(shí)現(xiàn)...........212
10.2.1 實(shí)體類庫 ...............212
10.2.2 數(shù)據(jù)訪問層接口類庫...............213
10.2.3 數(shù)據(jù)訪問層............214
10.2.4 工廠類庫 ...............217
10.2.5 業(yè)務(wù)邏輯層............219
10.2.6 表示層 ...221
上機(jī)實(shí)驗(yàn)..........241
參考文獻(xiàn).......... 242