《C#編程實戰寶典》是2014年清華大學出版社出版的圖書,作者是付強、丁寧等。
基本介紹
- 書名:C#編程實戰寶典
- 作者:付強、 丁寧等
- ISBN:9787302355175
- 定價:99.8元
- 出版社:清華大學出版社
- 出版時間:2014-7-25
- 裝幀:平裝
內容簡介,圖書目錄,
內容簡介
本書全面、系統地介紹了使用C#語言進行開發的方方面面知識。書中的各個技術點都提供了實例供讀者實踐練習,各章後還提供了實戰練習題幫助讀者鞏固和提高。本書中的每個例子都經過精挑細選,具有較強的針對性,力求使讀者通過書中的示例能夠更迅速地掌握相關知識。本書配1張DVD光碟,內容為15.5小時高清配套教學視頻及本書涉及的實例源檔案,光碟中還贈送了一部.NET面試寶典電子書和大量的C#開發範例、模組和項目案例的源程式及教學視頻等資料。
本書共32章,分為8篇。第1篇介紹了VisualStudio2010的開發環境、發展歷史和套用範圍等;第2篇介紹了C#語言的基礎知識,如數據類型、變數與表達式、程式控制語言、函式與方法等;第3篇介紹了面向對象的基礎知識及其在C#中的新套用和特徵;第4篇介紹了Windows應用程式設計,對VisualStudio所提供的控制項進行了較為全面的介紹;第5篇介紹了C#的高級特性和工具,如異常處理、檔案系統與流、XML和多執行緒編程等;第6篇主要介紹了Web資料庫開發的相關知識;第7篇介紹了WCF、WPF、WF和LINQ這4個.NET4.0中新增的功能;第8篇介紹了音樂商店網站和電子購物商城兩個項目案例的總體設計和實現(因篇幅所限,本篇內容以PDF電子文檔的格式收錄於本書的配書光碟中)。
本書適合想全面學習C#編程和使用C#進行開發的工程技術人員閱讀。對於.NET程式設計師,本書更是一本不可多得的案頭必備參考手冊。另外,本書可作為計算機和軟體工程等專業的教材和教學參考書。
一部有關電腦編程的圖書,本書全面、系統地介紹了使用C#語言進行開發的方方面面知識。書中的各個技術點都提供了實例供讀者實踐練習,各章後還提供了實戰練習題幫助讀者鞏固和提高。本書中的每個例子都經過精挑細選,具有較強的針對性,力求使讀者通過書中的示例能夠更迅速地掌握相關知識。
圖書目錄
第1篇 開發環境及C#語言簡介
第1章 Visual Studio 2010介紹( 教學視頻:31分鐘) 2
1.1 .NET概述 2
1.1.1 .NET的前世今生 2
1.1.2 什麼是微軟中間語言 3
1.1.3 背後默默付出的垃圾收集器 4
1.2 .NET Framework 概述 5
1.2.1 .NET Framework包含什麼 5
1.2.2 .NET平台的核心:CLR 7
1.2.3 基類庫是神馬 7
1.2.4 公共語言運行規範 9
1.3 Visual Studio 2010有哪些新增功能 9
1.4 Visual Studio 2010開發環境介紹 11
1.4.1 安裝Visual Studio 2010 11
1.4.2 Visual Studio 2010提供哪些項目模板 13
1.4.3 Visual Studio 2010提供哪些網站模板 15
1.4.4 Visual Studio 2010提供哪些檔案模板 15
1.4.5 與Visual Studio 2010的第一次相會 16
1.4.6 必須熟悉的開發工具列和選單欄 17
1.4.7 用對象瀏覽器查看對象信息 20
1.4.8 可視化利器:工具箱和屬性視窗 21
1.5 定製環境 23
1.5.1 讓字型和顏色更適合自己 23
1.5.2 在項目和解決方案中保存檔案 23
1.5.3 使用任務列表和注釋管理代碼 24
1.5.4 在命令視窗中執行命令 24
1.5.5 代碼顯示行號與代碼摺疊 26
1.5.6 管理Visual Studio 2010中的子視窗 27
1.5.7 調試與生成程式 28
1.6 學會使用MSDN幫助系統 30
1.7 用Visual Studio 2010編寫第一個程式 31
1.8 本章總結 33
1.9 實戰練習 34
第2章 C#簡介( 教學視頻:16分鐘) 35
2.1 C#與.NET的關係 35
2.2 C#有哪些特點 35
2.2.1 簡單性 36
2.2.2 類型統一性 38
2.2.3 面向對象性 39
2.2.4 類型安全性 40
2.2.5 兼容性 41
2.3 C#與其他語言對比 41
2.4 C#與VB.NET的異同 42
2.4.1 代碼表現形式的差異 42
2.4.2 數據類型和變數使用的差異 43
2.4.3 類、數據類型、函式以及接口 44
2.4.4 操作符與表達式的差異 44
2.4.5 控制流程語句的差異 45
2.4.6 錯誤處理的差異 47
2.4.7 關鍵字的差異 47
2.4.8 訪問修飾符的差異 47
2.4.9 語法的差異 48
2.4.10 C#與VB.NET實例對比 48
2.5 C#與C++的異同 51
2.5.1 託管環境的差異 51
2.5.2 C#使用.NET的對象 52
2.5.3 C#的語句 52
2.5.4 C#中取消的要素 52
2.5.5 操作符重載的差異 52
2.5.6 頭檔案的差異 53
2.5.7 程式書寫的差異 53
2.5.8 被取消的指針 53
2.5.9 虛函式的差異 53
2.5.10 C#與C++實例對比 55
2.6 C#與Java的異同 56
2.6.1 數據類型的差異 56
2.6.2 類的差異 57
2.6.3 屬性定義的差異 58
2.6.4 事件、指針與界面的差異 59
2.6.5 C#與Java實例對比 59
2.7 本章總結 60
2.8 實戰練習 61
第2篇 C#程式設計基礎
第3章 C#數據類型( 教學視頻:37分鐘) 64
3.1 初識C#的數據類型 64
3.2 存儲實際數據的值類型 65
3.2.1 什麼是值類型 65
3.2.2 整型 66
3.2.3 字元型 67
3.2.4 浮點型 68
3.2.5 小數型 69
3.2.6 大整數型 69
3.2.7 複數型 70
3.2.8 布爾型 71
3.2.9 C#值類型的數值類型 71
3.3 存儲引用地址的引用類型 72
3.3.1 什麼是引用類型 72
3.3.2 類類型 72
3.3.3 對象類型 73
3.3.4 字元串類型 73
3.3.5 接口類型 75
3.3.6 dynamic類型 76
3.4 數據類型是可以轉換的 78
3.4.1 什麼時候發生類型轉換 78
3.4.2 顯式轉換 78
3.4.3 隱式轉換 79
3.4.4 不同數值類型之間的轉換 79
3.4.5 數值類型和字元串之間的轉換 80
3.4.6 字元的ASCII碼和Unicode碼之間的轉換 82
3.4.7 字元串和字元數組之間的轉換 84
3.4.8 字元串和位元組數組之間的轉換 85
3.4.9 數值類型和位元組數組之間的轉換 86
3.4.10 不同類型之間的強制轉換 87
3.5 C#的用戶自定義數據類型 88
3.5.1 認識枚舉類型 88
3.5.2 枚舉編程示例 89
3.5.3 認識結構類型 90
3.5.4 結構編程示例 90
3.5.5 結構也支持方法 92
3.5.6 結構與類有什麼不同 93
3.5.7 哪些地方應使用結構類型 94
3.6 本章總結 94
3.7 實戰練習 94
第4章 變數與表達式( 教學視頻:42分鐘) 96
4.1 常量與變數 96
4.1.1 什麼是常量 96
4.1.2 靜態常量的特點 96
4.1.3 動態常量的特點 97
4.1.4 該用靜態常量還是動態常量 97
4.1.5 什麼是變數 98
4.1.6 認識變數的實質 99
4.1.7 變數有哪些種類 100
4.1.8 怎樣給變數命名 102
4.2 連線的橋樑——運算符與表達式 102
4.2.1 C#的運算符分類 102
4.2.2 算術運算符 103
4.2.3 關係運算符 105
4.2.4 一般賦值運算符 106
4.2.5 複合賦值運算符 107
4.2.6 邏輯運算符 109
4.2.7 複習二進制知識 112
4.2.8 二進制的位運算符 113
4.2.9 有邏輯判斷功能的三元運算符 115
4.2.10 自增和自減運算符 116
4.2.11 應該先進行什麼運算 117
4.3 關鍵字 118
4.4 本章總結 119
4.5 實戰練習 119
第5章 程式控制語言( 教學視頻:46分鐘) 120
5.1 C#有哪些種類的語句 120
5.2 選擇語句讓程式具有智慧型 121
5.2.1 選擇語句的作用 121
5.2.2 認識if語句 121
5.2.3 單分支if語句 122
5.2.4 二分支if語句 123
5.2.5 多分支if語句 124
5.2.6 if語句多層嵌套 125
5.2.7 switch多分支選擇語句 127
5.2.8 switch語句編程示例 128
5.3 用循環語句進行重複勞動 129
5.3.1 do循環語句 129
5.3.2 while循環語句 130
5.3.3 for循環語句 131
5.3.4 foreach循環語句 133
5.4 用跳轉語句改變程式流程 134
5.4.1 用break語句跳出循環 134
5.4.2 用continue語句進入下次循環 135
5.4.3 用return語句返回 136
5.4.4 用goto語句跳到指定行 137
5.4.5 用goto語句跳出switch語句 138
5.4.6 用goto語句跳出一層嵌套循環 139
5.4.7 用throw語句拋出異常 141
5.5 用注釋語句讓代碼意圖更明了 142
5.5.1 普通注釋語句 142
5.5.2 可生成幫助文檔的注釋語句 143
5.6 本章總結 146
5.7 實戰練習 146
第6章 函式與方法( 教學視頻:38分鐘) 147
6.1 函式是C#的基本結構 147
6.1.1 函式與方法 147
6.1.2 無參和有參函式 147
6.2 函式的必備件:參數與返回值 148
6.2.1 參數有什麼用 148
6.2.2 值參數的使用 148
6.2.3 引用參數的使用 149
6.2.4 輸出參數的使用 152
6.2.5 數組參數的使用 153
6.2.6 命名參數和可選參數 154
6.2.7 利用返回值獲取數值 156
6.2.8 利用返回值判斷邏輯 157
6.3 變數的作用域 159
6.3.1 最常見的局部變數 159
6.3.2 需要懼用的全局變數 160
6.4 認識主入口函式Main() 161
6.5 C#中最常用的函式 165
6.6 本章總結 166
6.7 實戰練習 166
第3篇 C#面向對象編程簡介
第7章 類和對象( 教學視頻:33分鐘) 170
7.1 類和對象的關係 170
7.2 類的定義 171
7.2.1 創建一個類 171
7.2.2 類成員的訪問類型 173
7.2.3 創建類的成員方法 174
7.3 創建對象 175
7.3.1 類的構造函式有什麼用 175
7.3.2 成員變數的初始化 177
7.3.3 創建類的拷貝構造函式 179
7.3.4 用關鍵字this引用當前對象 179
7.4 靜態成員的使用 180
7.4.1 什麼是類的靜態成員 180
7.4.2 靜態方法怎樣調用 181
7.4.3 靜態構造函式的優勢 182
7.4.4 使用私有構造函式保護靜態成員 182
7.4.5 使用靜態成員變數計錄對象數量 183
7.5 對象的銷毀 184
7.5.1 C#的析構函式 184
7.5.2 用Dispose()方法釋放資源 185
7.5.3 用using聲明作用範圍 185
7.6 參數傳遞 186
7.6.1 通過引用傳遞返回多個值 186
7.6.2 用out類型參數返回值 189
7.7 重寫方法和構造函式讓類更宜用 191
7.8 用屬性封裝類的數據 193
7.8.1 類的屬性定義 193
7.8.2 用get訪問器返回屬性值 195
7.8.3 用set訪問器設定屬性值 196
7.9 用Readonly類型變數為類設定不變的值 196
7.10 本章總結 198
7.11 實戰練習 199
第8章 繼承與多態( 教學視頻:39分鐘) 200
8.1 用繼承對類進行擴展 200
8.1.1 面向對象程式中的繼承 200
8.1.2 C#的繼承機制 201
8.1.3 繼承是怎樣調用構造函式 205
8.1.4 用base關鍵字調用基類構造函式 206
8.1.5 使用protected訪問類型 208
8.1.6 用sealed關鍵字終止繼承 209
8.2 萬類之根——Object類 210
8.3 C#類的多態特性 212
8.3.1 什麼是多態 212
8.3.2 在基類與子類中定義同名方法 213
8.3.3 方法重寫——virtual和override關鍵字的使用 214
8.3.4 用new關鍵字指出重寫方法 216
8.4 對象類型轉換——Up-casting和Down-casting 217
8.4.1 子類到基數的Up-casting類型轉換 217
8.4.2 基數到子類的Down-casting類型轉換 217
8.4.3 用is和as關鍵字做對象類型檢查 218
8.5 裝箱和拆箱 219
8.6 本章總結 219
8.7 實戰練習 220
第9章 抽象類和接口( 教學視頻:24分鐘) 221
9.1 定義抽象類 221
9.2 定義統一規劃的接口 224
9.2.1 定義接口 224
9.2.2 一個類實現多個接口 227
9.2.3 實現多接口同名方法 229
9.2.4 使用is和as操作符實現接口轉換 231
9.2.5 接口間能繼承嗎 232
9.3 本章總結 234
9.4 實戰練習 234
第10章 數組與集合( 教學視頻:38分鐘) 235
10.1 數組的數組——多維數組 235
10.1.1 認識多維數組 235
10.1.2 怎樣實例化多維數組 236
10.1.3 什麼是變長數組 238
10.2 用foreach循環進行數組的遍歷 240
10.3 比數組靈活好用的集合 243
10.3.1 用ArrayList集合保存不同類型數據 244
10.3.2 用Stack集合處理棧 246
10.3.3 用Queue集合處理佇列 248
10.4 鍵-值對應形式的字典類型集合 249
10.4.1 Hashtable類存儲方式 250
10.4.2 創建Hashtable集合的方法 250
10.4.3 用Add方法向Hashtable集合中添加元素 250
10.4.4 從Hashtable集合中獲取元素的方法 251
10.4.5 用Remove方法移除Hashtable集合中的元素 251
10.4.6 獲取Hashtable集合的元素與鍵值 252
10.4.7 在Hashtable集合中檢索元素 253
10.4.8 SortedList類與Hashtable類的區別 253
10.4.9 SortedList類常用方法 253
10.5 本章總結 255
10.6 實戰練習 256
第11章 代理和事件( 教學視頻:31分鐘) 257
11.1 代理 257
11.1.1 什麼是代理 257
11.1.2 代理所指向方法的類型和標識 258
11.1.3 代理引用的聲明和使用 258
11.1.4 .NET Framework中的代理 262
11.1.5 代理用作方法的參數 262
11.1.6 了解多重代理 264
11.1.7 多重代理的實現方法 264
11.1.8 怎樣移除多重代理指向的方法 266
11.2 事件和事件處理 267
11.2.1 C#的事件處理 267
11.2.2 事件舉例——時鐘事件 268
11.2.3 多重事件的處理 270
11.2.4 利用事件傳遞數據 271
11.3 本章總結 274
11.4 實戰練習 275
第4篇 Windows程式設計
第12章 Windows應用程式概述( 教學視頻:29分鐘) 278
12.1 Windows應用程式 278
12.1.1 什麼是Windows應用程式 278
12.1.2 創建Windows應用程式 278
12.1.3 程式入口檔案Program.cs 279
12.1.4 視窗程式檔案Form1.cs 279
12.1.5 視窗設計檔案Form1.Designer.cs 280
12.2 Windows應用程式窗體 281
12.2.1 C#的Form類 281
12.2.2 Form類常用屬性 281
12.2.3 Form類常用事件 282
12.3 為窗體添加控制項 283
12.3.1 Windows窗體控制項 283
12.3.2 控制項常見屬性 284
12.3.3 控制項常用公共事件 284
12.3.4 向窗體添加控制項的方法 285
12.3.5 調整控制項的布局 285
12.4 Windows應用程式編程示例 287
12.4.1 創建一個窗體 287
12.4.2 用屬性控制窗體外觀 287
12.4.3 向窗體添加控制項 288
12.4.4 添加控制項事件處理程式 288
12.4.5 查看窗體運行效果 288
12.5 本章總結 289
12.6 實戰練習 289
第13章 Visual Studio 2010控制項介紹( 教學視頻:39分鐘) 290
13.1 接收輸入的文本編輯控制項 290
13.1.1 TextBox控制項的作用 290
13.1.2 怎樣獲取或設定TextBox控制項的內容 291
13.1.3 TextBox控制項也可輸入多行文本 292
13.1.4 選擇TextBox控制項中的文本 293
13.1.5 設定Textbox控制項為密碼框 294
13.1.6 檢查TextBox控制項的輸入值 295
13.1.7 支持格式化的RichTextBox控制項 295
13.1.8 選擇RichTextBox控制項中的文本 296
13.1.9 在RichTextBox控制項中撤銷上次操作 297
13.1.10 拖放RichTextBox控制項中的文本 298
13.1.11 設定RichTextBox控制項中的文本格式 299
13.1.12 設定RichTextBox控制項的文本縮進 300
13.1.13 在RichTextBox控制項中添加超連結 302
13.1.14 RichTextBox控制項的檔案操作 302
13.2 不能編輯的文本顯示控制項 304
13.2.1 用Label控制項顯示文本 304
13.2.2 用LinkLabel控制項顯示超連結文本 305
13.2.3 保存超連結的LinkCollection集合 307
13.2.4 LinkLabel控制項編程示例 307
13.3 包容其他控制項的容器控制項 309
13.3.1 用Panel控制項細分窗體 309
13.3.2 有標題的容器控制項GroupBox 312
13.3.3 多頁容器控制項TabControl 313
13.3.4 TabControl控制項的幾種常見外觀 314
13.3.5 TabControl控制項中標籤頁的選擇 316
13.3.6 添加TabControl控制項中的標籤頁 318
13.3.7 格線形式容器控制項TableLayoutPanel 320
13.3.8 設定TableLayoutPanel控制項的外觀 321
13.3.9 添加控制項到TableLayoutPanel控制項 323
13.4 值設定控制項 325
13.4.1 用CheckBox控制項選擇打開或關閉狀態 325
13.4.2 用RadioButton控制項進行多選一操作 328
13.5 本章總結 329
13.6 實戰練習 329
第14章 列表選擇控制項介紹( 教學視頻:43分鐘) 330
14.1 ListBox控制項 330
14.1.1 用ListBox顯示列表 330
14.1.2 用ListBox添加列表項 330
14.1.3 設定ListBox的行為 332
14.1.4 讓ListBox支持多選 334
14.1.5 設定ListBox的外觀 336
14.1.6 對ListBox列表進行排序 337
14.1.7 控制ListBox列表項的刷新 337
14.1.8 查找ListBox中的列表 338
14.1.9 ListBox控制項的常用方法 340
14.2 ComboBox控制項 342
14.2.1 認識ComboBox控制項 342
14.2.2 設定ComboBox下拉樣式 342
14.2.3 設定ComboBox的自動補齊 344
14.2.4 ComboBox自動補齊的數據源 344
14.2.5 設定ComboBox自動補齊方式 347
14.2.6 ComboBox的常見事件 348
14.2.7 修改ComboBox的子項 349
14.2.8 ComboBox的子項繪製 350
14.3 CheckedListBox控制項 353
14.3.1 帶複選標記的列表控制項CheckedListBox 353
14.3.2 CheckedListBox控制項編程示例 355
14.4 ListView控制項 359
14.4.1 帶圖示的列表控制項ListView 359
14.4.2 ListView的5種視圖 360
14.4.3 使用任務窗體設定ListView 361
14.4.4 用ImageList給ListView提供圖示 362
14.4.5 設定ListView的子項 364
14.4.6 設定Details視圖模式的數據 365
14.4.7 給ListView添加分組設定 367
14.4.8 讓ListView支持拖曳操作 368
14.4.9 在ListView中進行搜尋 370
14.5 TreeView控制項 371
14.5.1 用TreeView控制項顯示分層數據 371
14.5.2 添加節點到TreeView 372
14.5.3 在節點前顯示複選框 374
14.5.4 選中節點的常用約定 376
14.5.5 用ImageList為TreeView提供圖示 376
14.5.6 展開與摺疊TreeView的節點 377
14.5.7 允許編輯TreeView的節點文本 379
14.5.8 讓TreeView支持拖曳操作 380
14.6 本章總結 383
14.7 實戰練習 383
第15章 數據顯示控制項( 教學視頻:27分鐘) 384
15.1 DataGridView控制項以表格顯示數據 384
15.1.1 DataGridView有哪些功能 384
15.1.2 設定對表格數據的操作 385
15.1.3 在窗體中如何放置DataGridView 388
15.1.4 為DataGridView提供數據 389
15.1.5 向DataGridView添加列 389
15.1.6 凍結DataGridView中的列 390
15.1.7 編輯DataGridView中的列 391
15.2 為DataGridView服務的類 392
15.2.1 DataGridViewElement對象模型 392
15.2.2 單元格對象模型DataGridViewCell 393
15.2.3 數據列對象模型DataGridViewColumn 394
15.2.4 數據行對象模型DataGridViewRow 394
15.3 設定DataGridView的格式 395
15.3.1 設定單元格框線樣式 395
15.3.2 設定DataGridView控制項框線樣式 396
15.3.3 設定單元格框線樣式 397
15.3.4 設定左上角單元格框線樣式 398
15.3.5 設定單元格樣式 399
15.3.6 單元格樣式設定的優先權 402
15.3.7 設定DataGridView外觀 404
15.3.8 用屬性設定可對表格的操作 404
15.3.9 DataGridView其他常用屬性 405
15.3.10 用AutoResizeColumn方法調列寬 407
15.3.11 用AutoResizeColumns方法調整所有列寬 409
15.3.12 用AutoResizeColumnHeadersHeight方法調整列標題高度 410
15.3.13 用AutoResizeRowHeadersWidth方法調整行標題寬度 411
15.3.14 DataGridView其他常用方法 412
15.4 DataGridView中顯示數據的相關類 413
15.4.1 設定數據排序模式 413
15.4.2 用DataGridViewTextBoxColumn顯示文本數據列 413
15.4.3 用DataGridViewCheckBoxColumn顯示二元狀態數據列 415
15.4.4 用DataGridViewImageColumn顯示圖像數據列 416
15.4.5 用DataGridViewButtonColumn顯示按鈕數據列 418
15.4.6 用DataGridViewComboBoxColumn顯示下拉列表數據列 419
15.4.7 用DataGridViewLinkColumn顯示超連結數據列 421
15.5 本章總結 423
15.6 實戰練習 423
第16章 通用對話框( 教學視頻:40分鐘) 424
16.1 訊息對話框 424
16.1.1 用訊息對話框顯示信息 424
16.1.2 該怎樣顯示訊息對話框 425
16.1.3 訊息對話框能顯示哪些按鍵 426
16.1.4 用戶按了哪個按鈕 427
16.1.5 訊息對話框可顯示哪些圖示 429
16.1.6 訊息對話框編程示例 430
16.2 檔案對話框 433
16.2.1 認識OpenFileDialog組件 433
16.2.2 顯示“打開檔案”對話框 434
16.2.3 打開捷徑引用的檔案 434
16.2.4 同時選擇多個檔案 435
16.2.5 設定可打開的檔案類型 436
16.2.6 設定“打開”檔案對話框的外觀 438
16.2.7 檢查指定的檔案是否存在 440
16.2.8 使用SaveFileDialog組件 441
16.2.9 SaveFileDialog組件編程示例 442
16.2.10 另外儲存檔案時的覆蓋與新建 444
16.2.11 使用FolderBrowserDialog組件 444
16.2.12 FolderBrowserDialog組件編程示例 445
16.3 字型選擇對話框 448
16.3.1 使用FontDialog組件 448
16.3.2 FontDialog組件編程示例 449
16.4 顏色選擇對話框 451
16.4.1 使用ColorDialog組件 451
16.4.2 ColorDialog組件編程示例 452
16.5 列印相關對話框 454
16.5.1 使用PrintDocument組件 454
16.5.2 PrintDocument組件編程示例 454
16.5.3 使用PageSetupDialog組件 457
16.5.4 PageSetupDialog組件編程示例 458
16.5.5 使用PrintPreviewDialog組件 458
16.5.6 PrintPreviewDialog組件編程示例 460
16.5.7 使用PrintDialog組件 462
16.6 本章總結 463
16.7 實戰練習 464
第17章 其他常用控制項( 教學視頻:29分鐘) 465
17.1 計時器組件 465
17.1.1 Timer組件有什麼用 465
17.1.2 用Timer控制程式定時執行 466
17.1.3 用Timer製作秒表 467
17.1.4 啟動和重置Timer 469
17.2 圖形控制項 470
17.2.1 用PictureBox控制項顯示圖片 470
17.2.2 PictureBox顯示圖片的5種方式 471
17.2.3 更新PictureBox中的圖片 472
17.2.4 用ImageList存儲圖片 473
17.2.5 哪些控制項可用ImageList中的圖片 474
17.3 選單控制項 475
17.3.1 用MenuStrip創建選單 475
17.3.2 有哪些方法添加選單項 476
17.3.3 為選單項編寫代碼完成相應功能 479
17.3.4 用ToolStrip創建工具列 481
17.3.5 工具列中可使用的按鈕類型 482
17.3.6 設定工具列的外觀和行為 483
17.3.7 設定ToolStripComboBox的自動完成功能 485
17.3.8 設定ToolStrip的外觀 486
17.3.9 用ContextMenuStrip創建快捷選單 486
17.4 本章總結 487
17.5 實戰練習 487
第18章Windows應用程式的部署(教學視頻:22分鐘) 489
18.1你了解這兩種部署方案嗎 489
18.1.1什麼是ClickOnce部署方案 489
18.1.2什麼是WindowsInstaller部署方案 490
18.2ClickOnce部署 490
18.2.1創建一個部署用的示例程式 490
18.2.2啟動“發布嚮導”的3種方法 491
18.2.3設定發布應用程式的3個URL地址 492
18.2.4為應用程式設定名稱 494
18.2.5設定需發布的非代碼檔案 494
18.2.6為應用程式添加下載組 495
18.2.7設定應用程式的系統必備組件 495
18.2.8設定安裝組件的許可權 496
18.2.9應用程式的3種發布方式 497
18.2.10將應用程式發布到網站 497
18.2.11將應用程式發布到已分享檔案夾 499
18.2.12將應用程式發布到CD-ROM 500
18.2.13發布應用程式 501
18.2.14安裝發布的應用程式 503
18.3WindowsInstaller部署 504
18.3.1創建一個部署用的示例程式 504
18.3.2創建部署項目 505
18.3.3設定檔案安裝到目標機器的位置 505
18.3.4添加項目輸出組 506
18.3.5設定安裝後的桌面捷徑 507
18.3.6更改安裝應用程式的部署特性 508
18.3.7將應用程式信息添加到註冊表 509
18.3.8安裝過程中可使用的對話框 509
18.3.9“歡迎使用”用戶界面對話框 510
18.3.10“選擇安裝資料夾”用戶界面對話框 511
18.3.11“確認安裝”用戶界面對話框 511
18.3.12“進度”用戶界面對話框 512
18.3.13“安裝完成”用戶界面對話框 512
18.3.14安裝過程中的自定義默認對話框 513
18.3.15“單選按鈕”用戶界面對話框 514
18.3.16“複選框”用戶界面對話框 515
18.3.17“文本框”用戶界面對話框 516
18.3.18“客戶信息”用戶界面對話框 517
18.3.19“許可協定”用戶界面對話框 517
18.3.20“自述檔案”用戶界面對話框 518
18.3.21“註冊用戶”用戶界面對話框 518
18.3.22生成應用程式安裝檔案 519
18.4比較兩種部署方案 519
18.5本章總結 520
18.6實戰練習 520
第5篇C#高級編程技術和工具
第19章異常處理(教學視頻:28分鐘) 522
19.1程式運行中的 522
19.2C#和.NET中的異常處理 524
19.2.1使用try…catch…finally結構處理異常 524
19.2.2捕獲程式中可能產生的異常 526
19.2.3用finally語段釋放資源 528
19.3多異常的捕獲 530
19.3.1什麼多異常 530
19.3.2異常的繼承關係 533
19.3.3捕獲所有異常的方法 534
19.4定義用戶異常的方法 534
19.5本章總結 537
19.6實戰練習 537
第20章檔案系統與流(教學視頻:45分鐘) 538
20.1軟體系統環境相關信息 538
20.1.1用System.Environment類獲得應用程式運行環境的信息 538
20.1.2System.Environment類的套用舉例 538
20.1.3用Enviroment.GetFolderPath()獲得各種Windows標準資料夾的路徑 540
20.2對檔案進行操作 542
20.2.1C#對檔案進行操作的類 542
20.2.2用System.IO.File類的靜態方法操作檔案 542
20.2.3用System.IO.FileInfo類的方法操作檔案 544
20.3對資料夾進行操作 545
20.3.1C#對資料夾操作的類 545
20.3.2用System.IO.Directory類的靜態方法操作資料夾 545
20.3.3用System.IO.DirectoryInfo類的方法操作資料夾 547
20.4流檔案概述 549
20.4.1了解流 549
20.4.2Stream類的常用方法和屬性 549
20.5使用流對檔案進行讀寫 550
20.5.1使用System.IO.FileStream類進行檔案讀寫 550
20.5.2用System.IO.FileStream類打開文本檔案 551
20.5.3用BinaryReader和BinaryWriter類讀寫原始檔案 553
20.5.4用StreamReader和StreamWriter類讀寫文本檔案 554
20.6序列化和反序列化 554
20.6.1什麼是對象序列化 555
20.6.2用格式器描述被序列化對象 555
20.6.3對象序列化使用示例一 555
20.6.4對象序列化使用示例二 558
20.6.5對象序列化使用示例三 560
20.7異步讀取數據 562
20.7.1什麼是異步讀取數據 562
20.7.2異步讀取數據使用示例 562
20.8本章總結 564
20.9實戰練習 564
第21章可擴展標記語言(教學視頻:30分鐘) 565
21.1認識XML 565
21.1.1文檔對象模型的功能 566
21.1.2用XPath查詢XML文檔 567
21.1.3了解可擴展樣式表語言XSL 567
21.1.4用XMLSchemas設定數據元素和屬性 568
21.1.5.NET中處理XML的相關類 568
21.2使用XMLDOM進行編程 569
21.2.1創建一個空的XML文檔 571
21.2.2向XML文檔添加元素 572
21.2.3更新XML文檔中的元素 573
21.2.4刪除XML文檔中的元素 576
21.2.5載入和保存XML文檔 577
21.3用DataSet保存XML數據 577
21.3.1不使用Schema檔案載入XML文檔 580
21.3.2使用Schema檔案載入XML文檔 582
21.3.3遍歷XML文檔 584
21.4用XPath查找節點 586
21.4.1XPath簡介 586
21.4.2XPath查詢示例代碼 586
21.4.3XPath示例代碼講解 590
21.5使用XSL將XML文檔轉化為另一種格式 591
21.5.1XSL轉換示例一 591
21.5.2XSL轉換示例講解 595
21.5.3XSL轉換示例二 596
21.6本章總結 597
21.7實戰練習 597
第22章多執行緒編程(教學視頻:27分鐘) 599
22.1C#執行緒的主要特徵 599
22.1.1輸出不同內容的兩個執行緒 599
22.1.2調用同一方法的兩個執行緒 600
22.1.3靜態變數在多執行緒多執行緒中的套用 601
22.1.4執行緒調度 603
22.1.5執行緒和進程的關係 603
22.1.6何時需要使用多執行緒 603
22.1.7何時不要使用多執行緒 604
22.2創建並開始一個執行緒 604
22.2.1用Thread類創建執行緒 604
22.2.2向ThreadStart傳遞參數 605
22.2.3給執行緒命名 607
22.2.4C#的後台執行緒 607
22.2.5設定執行緒優先權 608
22.2.6執行緒中的異常處理 608
22.3執行緒同步 610
22.3.1執行緒同步和協同的可用性工具 610
22.3.2阻止現在的執行緒 611
22.3.3Joining一個執行緒 612
22.4執行緒安全 612
22.4.1了解執行緒安全 612
22.4.2選擇一個同步對象 614
22.4.3使用嵌套鎖 615
22.4.4什麼時候上鎖合適 615
22.4.5使用鎖的效率考慮 616
22.4.6執行緒安全與.NETFramework 617
22.5用中斷和取消提前釋放執行緒 618
22.5.1中斷執行緒 618
22.5.2取消執行緒 619
22.6執行緒有哪些狀態 619
22.7等待處理 620
22.7.1了解自動設定方法 621
22.7.2自動設定方法示例一 621
22.7.3自動設定方法示例二 622
22.7.4自動設定方法示例三 623
22.7.5ManualResetEvent類控制多個執行緒 625
22.7.6跨執行緒的互斥量 626
22.7.7使用信號量 626
22.7.8使用WaitAny、WaitAll和SignalAndWait方法 627
22.8同步性作用域 628
22.9套間執行緒 630
22.9.1什麼是套間執行緒 630
22.9.2使用套間模型 631
22.9.3用Control.Invoke方法進行跨執行緒調用 631
22.10管理工作執行緒的BackgroundWorker組件 631
22.10.1BackgroundWorker的特徵 632
22.10.2BackgroundWorker組件編程示例一 632
22.10.3BackgroundWorker組件編程示例二 633
22.10.4BackgroundWorker組件編程示例三 635
22.11用於讀/寫操作的鎖 636
22.11.1了解讀/寫操作的鎖 636
22.11.2管理資源訪問鎖定狀態類ReaderWriterLockSlim 637
22.11.3讀/寫操作鎖的進一步說明 638
22.12用執行緒池管理執行緒 639
22.13用異步代理得到執行緒返回的數據 641
22.14.NET提供的計時器 642
22.15各執行緒數據的局部存儲 644
22.16本章總結 644
22.17實戰練習 645
第6篇Web資料庫開發
第23章資料庫基礎知識(教學視頻:15分鐘) 648
23.1了解SQLServer 648
23.2操作MSSQL數據表 649
23.2.1在資料庫中創建、修改和刪除表 650
23.2.2向表中插入、修改、刪除和檢索數據 650
23.2.3設定表的主鍵約束 653
23.2.4設定表的外鍵約束 654
23.2.5設定表的唯一性約束 654
23.2.6設定表的CHECK約束 655
23.2.7設定列的默認約束 655
23.3資料庫的存儲過程 655
23.3.1創建存儲過程的SQL語句 656
23.3.2執行和刪除存儲過程的SQL語句 657
23.3.3用SQLServerManagementStudio管理存儲過程 657
23.4資料庫中的觸發器 659
23.4.1創建和使用觸發器的SQL語句 659
23.4.2用SQLServerManagementStudio管理觸發器 660
23.5本章總結 661
23.6實戰練習 661
第24章ADO.NET資料庫編程(教學視頻:32分鐘) 662
24.1ADO.NET介紹 662
24.1.1ADO.NET是神馬 662
24.1.2ADO.NET相關的類和接口 663
24.2DataSet和DataTable類 664
24.2.1表示記憶體數據表的DataTable類 664
24.2.2創建DataTable的方法 666
24.2.3遍歷DataTable中保存的記錄 669
24.2.4接受和回滾DataTable的更改 670
24.2.5表示記憶體數據集合的DataSet類 673
24.2.6使用DataSet類的步驟 675
24.2.7接受和回滾DataSet的更改 679
24.3用ADO.NET訪問SQLServer資料庫 680
24.3.1ADO.NET訪問資料庫的步驟 680
24.3.2用SqlConnection連線資料庫 681
24.3.3用SqlCommand執行SQL命令 684
24.3.4用SqlDataReader讀取資料庫記錄 687
24.3.5用SqlDataAdapter獲取資料庫記錄 689
24.3.6用SqlDataAdapter更改資料庫記錄 692
24.4用ADO.NET訪問Access資料庫 694
24.4.1System.Data.OleDb命名空間提供的功能 694
24.4.2訪問Access資料庫的各種類 695
24.5使用資料庫訪問控制項 696
24.5.1用DataGridView控制項管理資料庫中的記錄 696
24.5.2用BindingNavigator控制項導航記錄 699
24.6本章總結 700
24.7實戰練習 700
第25章ASP.NET技術入門(教學視頻:24分鐘) 702
25.1初識ASP.NET 702
25.1.1了解ASP.NET 702
25.1.2System.Web常用的類 703
25.1.3創建一個Web應用程式 703
25.2用ASP.NET控制項創建網頁 706
25.2.1用TextBox控制項顯示文本框 706
25.2.2用Button控制項顯示按鈕 707
25.2.3用HyperLink控制項顯示超連結 709
25.2.4用DropDownList、ListBox等顯示下拉列表、列表 709
25.2.5用Menu控制項顯示導航選單 711
25.3留言板網站實例 713
25.3.1資料庫和頁面設計 713
25.3.2設計歡迎頁面 714
25.3.3設計添加留言頁面 715
25.3.4設計查看留言頁面 718
25.3.5發布留言板網站 721
25.4本章總結 723
25.5實戰練習 724
第26章伺服器端控制項詳解(教學視頻:24分鐘) 725
26.1認識伺服器控制項 725
26.1.1為什麼使用伺服器控制項 725
26.1.2伺服器控制項與HTML控制項的區別 725
26.2數據操作控制項 726
26.2.1SqlDataSource的作用 726
26.2.2用SqlDataSource控制項連線到資料庫 727
26.2.3用GridView控制項顯示數據 732
26.2.4用DetailsView控制項顯示指定記錄 735
26.3用驗證控制項檢查用戶輸入 739
26.3.1必填內容的驗證控制項RequiredFieldValidator 739
26.3.2比較兩個值的驗證控制項CompareValidator 740
26.3.3檢查指定範圍的驗證控制項RangeValidator 743
26.3.4正則表達式驗證控制項RegularExpressionValidator 743
26.3.5自定義驗證控制項CustomValidator 744
26.3.6驗證錯誤信息匯總控制項ValidationSummary 747
26.4創建ASP.NET用戶控制項 748
26.5本章總結 751
26.6實戰練習 751
第7篇.NET4.0的增強功能
第27章WPF框架(教學視頻:19分鐘) 754
27.1WPF基礎 754
27.1.1了解WPF基礎架構 754
27.1.2與WPF相關的技術 755
27.2創建WPF應用程式 756
27.2.1創建WPF的過程 756
27.2.2完整的WPF應用程式實例 759
27.2.3創建WPF瀏覽器應用程式 761
27.3簡單WPF實例 763
27.3.1用ListBox控制項實現列表顯示 763
27.3.2用Hyperlink控制項實現多頁面切換 767
27.3.3用DockPanel沿容器邊緣定位 768
27.3.4使用StackPanel疊放包含的控制項 770
27.3.5使用數據源集合實現多數據綁定 771
27.3.6屬性變更引起依賴數據綁定變化 774
27.3.7使用Brush填充圖形 778
27.3.8使用Storyboard實現動畫 783
27.3.9使用Storyboard實現控制項的翻轉 785
27.4本章總結 787
27.5實戰練習 787
第28章WCF框架(教學視頻:22分鐘) 788
28.1WCF基礎 788
28.1.1了解WCF架構 788
28.1.2了解WCF模型 789
28.2WCF服務和客戶端實例 790
28.2.1創建WCF服務承載項目 790
28.2.2定義WCF服務協定 790
28.2.3定義實現WCF服務接口的類 792
28.2.4運行WCF服務的相關代碼 793
28.2.5創建WCF客戶端程式 795
28.2.6配置WCF客戶端的配置 795
28.2.7WCF客戶端對服務端的調用 797
28.3主要的WCF技術 799
28.3.1使用會話在客戶端與服務間互動 799
28.3.2WCF事務管理模型 800
28.4本章總結 801
28.5實戰練習 802
第29章WindowsWF框架(教學視頻:40分鐘) 803
29.1C#的工作流開發框架 803
29.1.1了解WF框架 803
29.1.2WF框架中的重要元素 804
29.2開發WF工作流應用程式 805
29.2.1第一個WF應用程式 805
29.2.2WF工作流的基本元素:WF活動 810
29.2.3自定義的代碼活動 815
29.2.4WF提供的服務 818
29.3WF創建工作流實例 819
29.3.1在工作流中使用集合 819
29.3.2猜價格遊戲 823
29.4本章總結 828
29.5實戰練習 828
第30章語言集成查詢LINQ(教學視頻:25分鐘) 829
30.1LINQ概述 829
30.1.1了解LINQ查詢 829
30.1.2簡單LINQ查詢實例 830
30.2LINQ語言基礎 830
30.2.1最重要的LINQ查詢表達式 831
30.2.2LINQ查詢語法和方法語法實例 833
30.2.3用LINQ合併數據 835
30.2.4用LINQ轉換數據 837
30.3LINQ查詢數據源 838
30.3.1用LINQToSQL查詢資料庫中的數據 838
30.3.2用LINQToDataSet查詢快取在DataSet中的數據 842
30.3.3用LINQToXML查詢XML中的數據 843
30.3.4用LINQToObjects查詢可枚舉的集合 844
30.4本章總結 846
30.5實戰練習 846
*第8篇綜合案例
第31章用MVC開發音樂商店網站 848
31.1開發站點前的配置 848
31.1.1預覽音樂商店網站 848
31.1.2系統架構總覽 851
31.1.3系統資料庫設計 852
31.1.4系統檔案目錄結構 854
31.1.5創建母版頁和CSS檔案 856
31.1.6使用EntityFramework創建實體模型 858
31.2音樂專輯列表實現 860
31.2.1首頁控制器實現 860
31.2.2創建首頁視圖 861
31.2.3瀏覽音樂流派 862
31.2.4瀏覽音樂明細信息 865
31.3管理音樂列表 866
31.3.1基於角色的身份驗證 867
31.3.2編輯音樂信息 870
31.3.3基於模型的數據驗證 875
31.4實現和管理購物車 876
31.4.1添加到購物車功能 876
31.4.2從購物車中移除功能 879
31.4.3提交購物車 880
31.5關鍵技術講解 885
31.6本章總結 885
31.7實戰練習 885
第32章電子購物商城 886
32.1系統總體設計 886
32.1.1系統功能描述 886
32.1.2WebShopping應用程式組成 888
32.1.3保存數據需要哪些表 890
32.1.4設計資料庫表之間關係設計 893
32.2系統通用類和模組設計 894
32.2.1編寫系統常量和枚舉代碼 894
32.2.2編寫系統常用操作的代碼 895
32.2.3設計顯示標題的用戶控制項 896
32.2.4設計分頁用戶控制項 897
32.2.5創建級聯樣式表web.css檔案 902
32.2.6設計主題檔案 902
32.2.7在Web.config中設定資料庫連線字元串 903
32.2.8創建資料庫對象模型 904
32.3電子購物商城首頁 907
32.3.1設計首頁界面 907
32.3.2設計全站搜尋的用戶控制項 911
32.3.3設計登錄網站的用戶控制項 912
32.3.4設計顯示新聞的用戶控制項 914
32.3.5設計顯示公告的用戶控制項 916
32.4用戶註冊和登錄 917
32.4.1用戶必須先註冊 918
32.4.2顯示提交的用戶信息 922
32.4.3處理用戶登錄 925
32.4.4退出系統時要做的操作 928
32.5瀏覽商品、購物車和訂單 928
32.5.1查看商品信息 929
32.5.2對商品進行評論 932
32.5.3購物車功能 936
32.5.4將商品加入購物車 937
32.5.5查看購物車內容 940
32.5.6生成訂單編號的代碼 944
32.5.7生成購物訂單 945
32.5.8發布留言 950
32.6商品搜尋 952
32.6.1按商品名稱搜尋 953
32.6.2更複雜的高級搜尋 956
32.7用戶信息中心 960
32.7.1管理用戶的首頁 960
32.7.2根據角色動態載入操作選單 962
32.7.3查看個人信息 965
32.7.4修改個人信息 967
32.7.5修改密碼 971
32.7.6管理我的訂單 974
32.8商品及其分類管理 978
32.8.1查看已有商品分類列表 978
32.8.2動態載入商品分類層次結構的代碼 983
32.8.3添加新的商品分類 984
32.8.4修改已有商品分類 987
32.8.5查看已有商品列表 990
32.8.6動態載入商品分類層次樹的代碼 997
32.8.7添加新的商品 999
32.8.8修改已有商品 1003
32.8.9商品圖片管理 1007
32.8.10顯示商品圖片 1012
32.8.11商品評論列表 1013
32.9系統信息中心 1018
32.9.1查看已有新聞列表 1018
32.9.2發布新的新聞 1023
32.9.3修改已發布新聞 1025
32.9.4發布公告 1029
32.9.5管理用戶留言 1032
32.10系統用戶和角色管理 1035
32.10.1查看已有角色列表 1036
32.10.2添加新的角色 1040
32.10.3修改已有角色 1042
32.10.4管理註冊用戶 1045
32.10.5添加管理員 1049
32.11本章總結 1053
32.12實戰練習 1053
C#編程實戰寶典
目錄