內容介紹
本書從初學者角度出發,通過通俗易懂的語言和大量生動典型的實例,由淺入深、循序漸進地介紹使用C#進行WinForms程式開發的常用技術和方法。全書共22章。第1章~第10章主要介紹認識Visual C#,C#語言基礎,C#語句控制,數組,面向對象編程,熟悉WinForms應用程式,WinForms窗體介紹,WinForms應用程式開發常用控制項,選單欄、工具列和狀態欄設計及對話框等內容;第11章~第20章主要介紹使用ADO.NET運算元據庫,檔案處理技術,HTML幫助檔案的製作,GDI+技術,Windows列印控制項,網路開發技術,註冊表套用,程式調試,Windows應用程式打包與安裝,C# 3.5新特性等內容;第21章和第22章主要結合實際開發經驗介紹利用C#開發庫存管理系統和人事工資管理系統等內容。
本書附有配套光碟。光碟提供了書中所有實例的原始碼,原始碼都經過精心調試,在Windows XP/Windows 2000/Windows 2003 Server下全部通過,保證能夠正常運行。
本書適用於C#初、中級用戶,也可作為大、中專院校師生和培訓班的教材,對於程式開發愛好者,本書也有較高的參考價值。
圖書目錄
第1章 認識Visual C# 001
1.1 Visual C#概述 002
1.1.1 Visual C#發展歷程 002
1.1.2 C#語言編程環境 002
1.2 .NET Framework 3.5簡介 002
1.2.1 什麼是.NET Framework 002
1.2.2 .NET Framework 3.5特性 003
1.3 安裝集成開發環境Microsoft Visual Studio 2008 004
1.3.1 安裝Microsoft Visual Studio 2008開發環境 004
1.3.2 安裝Microsoft Visual Studio 2008 MSDN幫助 007
1.3.3 如何使用MSDN幫助 010
1.3.4 利用MSDN幫助附帶的示例學習編程 011
1.4 創建第一個C#程式 012
1.4.1 創建項目 012
1.4.2 設計界面 014
1.4.3 編寫代碼 014
1.4.4 調試運行 015
1.4.5 保存項目 016
1.5 本章小結 016
第2章 C#語言基礎 017
2.1 C#語言簡介 018
2.2 數據類型 018
2.2.1 什麼是數據類型 018
2.2.2 值類型的使用 018
2.2.3 引用類型的使用 018
2.2.4 什麼是裝箱和拆箱 020
2.2.5 裝箱和拆箱的使用 020
2.3 常量與變數 020
2.3.1 聲明和使用常量 020
2.3.2 聲明變數 021
2.3.3 變數的作用域 022
2.3.4 變數的賦值 022
2.4 數據類型轉換 023
2.4.1 隱式類型轉換 023
2.4.2 顯式類型轉換 023
2.5 C#中運算符的使用 024
2.5.1 算術運算符的使用 024
2.5.2 賦值運算符的使用 026
2.5.3 關係運算符的使用 028
2.5.4 邏輯運算符的使用 028
2.5.5 位運算的使用 028
2.5.6 其他特殊運算符 029
2.5.7 運算符優先權 030
2.6 字元串處理 031
2.6.1 比較字元串 031
2.6.2 定位字元及子串 032
2.6.3 格式化字元串 034
2.6.4 截取字元串 034
2.6.5 分割字元串 035
2.6.6 插入和填充字元串 036
2.6.7 刪除和剪下字元串 036
2.6.8 複製字元串 038
2.6.9 替換字元串 039
2.6.10 StringBuilder的定義與使用 039
2.6.11 可變字元串類StringBuilder與String的區別 041
2.7 程式編寫規範 041
2.7.1 代碼書寫規則 041
2.7.2 命名規範 042
2.8 注釋 043
2.8.1 注釋的作用 044
2.8.2 如何使用注釋 044
2.9 本章小結 044
第3章 C#語句控制 045
3.1 選擇語句 046
3.1.1 使用if語句實現單分支選擇結構 046
3.1.2 使用if…else語句實現雙分支選擇結構 046
3.1.3 使用if…else if…else語句實現多分支選擇結構 047
3.1.4 嵌套if語句的使用 050
3.1.5 使用Switch語句實現多分支選擇 051
3.2 疊代語句 053
3.2.1 使用while循環語句控制程式 053
3.2.2 使用do while循環語句控制程式 054
3.2.3 使用for循環語句控制程式 055
3.2.4 使用foreach循環語句控制程式 056
3.3 跳轉語句 057
3.3.1 使用break語句實現程式跳轉 057
3.3.2 使用continue語句實現程式跳轉 059
3.3.3 使用goto語句實現程式跳轉 059
3.3.4 使用return語句實現程式跳轉 061
3.4 異常處理語句 062
3.4.1 throw語句 062
3.4.2 try-catch語句 063
3.4.3 try-catch-finally語句 064
3.5 本章小結 065
第4章 數組 066
4.1 數組簡介 067
4.1.1 數組的概述 067
4.1.2 數組的套用 067
4.2 靜態數組 068
4.2.1 一維數組的聲明 068
4.2.2 一維數組元素的調用 068
4.2.3 二維數組的聲明和調用 069
4.2.4 多維數組 071
4.3 動態數組 072
4.3.1 動態數組的聲明 072
4.3.2 聲明動態數組的注意事項 074
4.4 數組的基本操作 074
4.4.1 輸入與輸出數組 074
4.4.2 如何定位數組 076
4.4.3 如何遍歷數組 078
4.4.4 增加刪除數組元素 079
4.4.5 對數組進行排序 082
4.4.6 數組的合併與拆分 084
4.4.7 數組套用典型實例 088
4.5 本章小結 089
第5章 面向對象編程 090
5.1 面向對象編程 091
5.1.1 什麼是面向對象編程 091
5.1.2 面向對象程式語言的特點 091
5.2 類 092
5.2.1 類的概念 092
5.2.2 類的聲明 092
5.2.3 類成員的訪問 092
5.2.4 類成員的保護 093
5.3 對象 093
5.3.1 對象的聲明和實例化 093
5.3.2 類與對象的關係 094
5.4 構造函式和析構函式 094
5.4.1 構造函式的概念及使用 095
5.4.2 析構函式的概念及使用 095
5.5 枚舉 096
5.5.1 什麼是枚舉 096
5.5.2 枚舉的定義 096
5.5.3 枚舉的使用 097
5.6 方法 098
5.6.1 方法的聲明 098
5.6.2 方法的參數 099
5.6.3 靜態和非靜態方法的使用 100
5.6.4 方法的重載 101
5.7 封裝、繼承和多態 102
5.7.1 封裝的概念及用途 102
5.7.2 封裝的使用 102
5.7.3 繼承的概念及用途 103
5.7.4 繼承的使用 103
5.7.5 多態的概念及用途 104
5.7.6 多態的使用 104
5.8 接口 105
5.8.1 接口的概念 106
5.8.2 聲明接口 106
5.8.3 接口的成員 106
5.8.4 接口的實現 107
5.8.5 抽象類與接口 108
5.9 域和屬性 109
5.9.1 域的概念及用途 109
5.9.2 域的聲明 109
5.9.3 屬性的概念及用途 110
5.9.4 屬性的聲明 110
5.10 泛型 111
5.10.1 泛型概述及優點 111
5.10.2 泛型中的類型參數T 111
5.10.3 泛型的使用 112
5.11 匿名方法 115
5.11.1 什麼是匿名方法 115
5.11.2 匿名方法的使用 115
5.12 疊代器 116
5.12.1 什麼是疊代器 116
5.12.2 創建疊代器 117
5.12.3 疊代器的使用 117
5.13 分部類 118
5.13.1 什麼是分部類 118
5.13.2 定義分部類 118
5.13.3 分部類的使用 118
5.14 事件和索引器 119
5.14.1 事件的概念及用途 119
5.14.2 事件的聲明及使用 119
5.14.3 索引器的概念及用途 120
5.14.4 索引器的聲明及使用 121
5.15 本章小結 121
第6章 熟悉WinForms應用程式 122
6.1 窗體設計器 123
6.1.1 創建窗體 123
6.1.2 使用窗體設計器 125
6.2 使用工具 126
6.2.1 熟悉工具箱 126
6.2.2 認識控制項屬性框 128
6.2.3 認識解決方案資源管理器 129
6.2.4 認識伺服器資源管理器 131
6.3 本章小結 135
第7章 WinForms窗體介紹 136
7.1 Form窗體 137
7.1.1 Form窗體概述 137
7.1.2 Form窗體的使用 137
7.2 MDI窗體 138
7.2.1 MDI窗體概述 138
7.2.2 MDI窗體的使用 139
7.3 繼承窗體 140
7.3.1 繼承窗體概述 140
7.3.2 繼承窗體的使用 141
7.4 本章小結 142
第8章 WinForms應用程式開發常用控制項 143
8.1 控制項概述 144
8.1.1 控制項的作用 144
8.1.2 控制項的屬性、方法和事件 144
8.2 控制項的分類 146
8.2.1 常用控制項 147
8.2.2 容器控制項 147
8.2.3 數據控制項 147
8.2.4 列印控制項 147
8.2.5 對話框控制項 148
8.3 控制項的相關操作 148
8.3.1 添加控制項 148
8.3.2 對齊控制項 148
8.3.3 調整控制項的前後順序 148
8.3.4 鎖定控制項 149
8.3.5 刪除控制項 149
8.4 文本類控制項 149
8.4.1 套用Label控制項 149
8.4.2 套用LinkLabel控制項 152
8.4.3 套用Button控制項 154
8.4.4 套用TextBox控制項 157
8.4.5 套用RichTextBox控制項 159
8.5 選擇類控制項 162
8.5.1 套用ComboBox控制項 162
8.5.2 套用CheckBox控制項 164
8.5.3 套用CheckedListBox控制項 167
8.5.4 套用RadioButton控制項 169
8.5.5 套用NumericUpDown控制項 170
8.5.6 套用ListBox控制項 173
8.6 容器控制項 177
8.6.1 套用Panel控制項 177
8.6.2 套用GroupBox控制項 179
8.6.3 套用TabControl控制項 180
8.7 組件 183
8.7.1 套用ErrorProvider組件 183
8.7.2 套用Timer組件 185
8.7.3 套用ImageList組件 187
8.7.4 套用FileSystemWatcher組件 189
8.7.5 套用HelpProvider組件 192
8.8 其他常用控制項 194
8.8.1 套用ListView控制項 194
8.8.2 套用TreeView控制項 198
8.8.3 套用PictrueBox控制項 200
8.8.4 套用NotifyIcon控制項 203
8.8.5 套用DateTimePicker控制項 205
8.8.6 套用MonthCalendar控制項 207
8.8.7 套用ToolTip控制項 209
8.8.8 套用ProgressBar控制項 211
8.9 本章小結 214
第9章 選單欄、工具列和狀態欄設計 215
9.1 選單欄 216
9.1.1 選單欄概念和用途 216
9.1.2 選單欄設計 217
9.2 工具列 218
9.2.1 工具列概念和用途 218
9.2.2 工具列設計 218
9.3 狀態欄 220
9.3.1 狀態欄概念和用途 220
9.3.2 狀態欄設計 220
9.4 本章小結 221
第10章 對話框 222
10.1 訊息對話框 223
10.1.1 什麼是訊息對話框 223
10.1.2 訊息對話框的使用 223
10.2 “關於”對話框 231
10.2.1 什麼是“關於”對話框 231
10.2.2 “關於”對話框的使用 231
10.3 公共對話框 232
10.3.1 “打開”對話框的使用 232
10.3.2 “另外儲存為”對話框的使用 235
10.3.3 “顏色”對話框的使用 237
10.3.4 “字型”對話框的使用 240
10.3.5 “瀏覽資料夾”對話框的使用 242
10.4 本章小結 244
第11章 使用ADO.NET運算元據庫 245
11.1 使用ADO.NET訪問資料庫 246
11.1.1 ADO.NET訪問資料庫的模式 246
11.1.2 資料庫命名空間 247
11.2 ADO.NET對象模型 251
11.2.1 Connection對象 251
11.2.2 Command對象 253
11.2.3 DataReader對象 256
11.2.4 DataSet對象 258
11.2.5 DataAdapter對象 262
11.3 套用DataGridView控制項 264
11.3.1 DataGridView控制項的屬性 264
11.3.2 DataGridView控制項的方法 266
11.3.3 DataGridView控制項的事件 269
11.3.4 DataGridView控制項的使用 271
11.4 資料庫開發基本操作 272
11.4.1 向資料庫中添加數據 272
11.4.2 修改資料庫中數據 273
11.4.3 刪除資料庫中數據 274
11.4.4 查詢資料庫中數據 276
11.5 本章小結 278
第12章 檔案處理技術 279
12.1 System.IO命名空間 280
12.1.1 File類和Directory類 281
12.1.2 FileInfo類和DirectoryInfo類 283
12.1.3 FileStream類 284
12.1.4 StreamWriter類 287
12.1.5 StreamReader類 289
12.2 檔案的基本操作 290
12.2.1 判斷檔案是否存在 290
12.2.2 創建檔案 291
12.2.3 複製或移動檔案 291
12.2.4 刪除檔案 291
12.2.5 獲取檔案基本信息 291
12.3 資料夾的基本操作 291
12.3.1 判斷資料夾是否存在 292
12.3.2 創建資料夾 292
12.3.3 移動資料夾 292
12.3.4 刪除資料夾 292
12.3.5 遍歷資料夾中檔案 292
12.4 檔案寫入和讀取 293
12.4.1 文本檔案的寫入 293
12.4.2 文本檔案的讀取 294
12.5 解壓縮檔案 294
12.5.1 使用GZip解壓縮檔案 295
12.5.2 使用WinRAR解壓縮檔案 297
12.6 本章小結 299
第13章 HTML幫助檔案的製作 300
13.1 HTML幫助檔案概述 301
13.2 製作HTML幫助檔案 301
13.2.1 安裝Microsoft HTML Help Workshop 301
13.2.2 製作HTML幫助主題檔案 302
13.2.3 製作HTML幫助項目檔案 303
13.2.4 製作目錄和目錄檔案 306
13.2.5 製作關鍵字和索引檔案 308
13.2.6 製作.chm檔案 311
13.3 HTML幫助檔案的使用 312
13.4 本章小結 312
第14章 GDI+技術 313
14.1 GDI+概述 314
14.2 基本圖形繪製 314
14.2.1 繪製直線 314
14.2.2 繪製矩形 315
14.2.3 繪製橢圓 316
14.2.4 繪製圓弧 317
14.2.5 繪製多邊形 319
14.2.6 繪製基數樣條 320
14.2.7 繪製貝塞爾樣條 321
14.2.8 繪製圖形路徑 323
14.3 GDI+在實際開發中的套用 324
14.3.1 利用柱形圖分析每月的商品銷售情況 324
14.3.2 利用折線圖分析網站訪問流量 327
14.3.3 利用餅形圖分析公司男女比例 330
14.4 本章小結 331
第15章 Windows列印控制項 332
15.1 PrintDocument組件 333
15.1.1 PrintDocument組件的屬性 333
15.1.2 PrintDocument組件的方法 334
15.1.3 PrintDocument組件的事件 334
15.1.4 PrintDocument組件的套用 335
15.2 PrintPreviewDialog組件 337
15.2.1 PrintPreviewDialog組件的屬性 337
15.2.2 PrintPreviewDialog組件的方法 338
15.2.3 PrintPreviewDialog組件的套用 338
15.3 PrintPreviewControl組件 339
15.3.1 PrintPreviewControl組件的屬性 339
15.3.2 PrintPreviewControl組件的方法 341
15.3.3 PrintPreviewControl組件的套用 341
15.4 PrintDialog組件 342
15.4.1 PrintDialog組件的屬性 343
15.4.2 PrintDialog組件的方法 344
15.4.3 PrintDialog組件的套用 344
15.5 PageSetupDialog組件 345
15.5.1 PageSetupDialog組件的屬性 346
15.5.2 PageSetupDialog組件的方法 346
15.5.3 PageSetupDialog組件的套用 347
15.6 本章小結 348
第16章 網路開發技術 349
16.1 System.Net命名空間 350
16.1.1 DNS類 350
16.1.2 DnsPermission類 352
16.1.3 WebRequest類 353
16.1.4 WebClient類 353
16.2 System.Net.Socket命名空間 353
16.2.1 什麼是套接字 354
16.2.2 Socket類的屬性、方法 354
16.3 開發網路應用程式 361
16.3.1 開發UDP協定聊天程式 361
16.3.2 開發TCP/IP協定聊天室 362
16.4 電子郵件的傳送與接收 364
16.4.1 MailMessage類和SmtpClient類的作用 364
16.4.2 POP3類的作用 365
16.4.3 電子郵件的傳送 366
16.4.4 電子郵件的接收 367
16.5 本章小結 372
第17章 註冊表套用 373
17.1 註冊表基礎知識 374
17.1.1 註冊表概述 374
17.1.2 註冊表的結構 374
17.2 讀寫註冊表 376
17.2.1 讀取註冊表信息 377
17.2.2 向註冊表中寫入信息 379
17.3 註冊表套用 381
17.3.1 將軟體使用次數寫入註冊表 381
17.3.2 通過註冊表最佳化系統 382
17.4 本章小結 383
第18章 程式調試 384
18.1 什麼是斷點操作 385
18.2 如何使用開始、中斷和停止執行功能 385
18.3 什麼是單步執行 387
18.4 如何運行到指定位置 387
18.5 本章小結 387
第19章 Windows應用程式打包與安裝 388
19.1 Windows Installer簡介 389
19.2 Windows應用程式部署 389
19.2.1 創建部署項目 389
19.2.2 可選的部署功能 391
19.3 安裝及卸載Windows程式 394
19.3.1 在本地計算機上安裝 394
19.3.2 部署到其他計算機 395
19.3.3 卸載安裝應用程式 395
19.4 本章小結 395
第20章 C# 3.5新特性 396
20.1 C# 3.5概述 397
20.2 隱藏類型var 397
20.3 Lambda表達式 398
20.4 擴展方法 399
20.5 LINQ技術 400
20.6 本章小結 403
第21章 庫存管理系統 404
21.1 需求分析 405
21.2 系統設計 405
21.2.1 總體規劃 405
21.2.2 系統功能結構圖 406
21.2.3 開發及運行環境 406
21.3 系統命名規則 406
21.3.1 資料庫命名規範 406
21.3.2 程式代碼命名規範 408
21.4 資料庫設計 408
21.4.1 數據表概要說明 408
21.4.2 主要數據表的結構 409
21.4.3 存儲過程的創建 411
21.4.4 觸發器的創建 414
21.5 系統總體架構 417
21.5.1 資料夾架構 417
21.5.2 程式檔案架構 417
21.6 公共類編寫 418
21.6.1 DataCon類 419
21.6.2 DataOperate類 420
21.7 系統模組設計 424
21.7.1 系統登錄模組設計 424
21.7.2 供應商信息設定模組設計 426
21.7.3 貨物入庫管理模組設計 429
21.7.4 貨物出庫管理模組設計 432
21.7.5 借貨管理模組設計 435
21.7.6 還貨管理模組設計 438
21.7.7 庫存信息查詢模組設計 441
21.7.8 出入庫貨物年統計模組設計 443
21.8 疑難問題解析 444
21.8.1 貨物入庫時更新貨物信息表 444
21.8.2 通過餅型圖分析貨物出入庫情況 445
21.9 本章小結 446
第22章 人事工資管理系統 447
22.1 需求分析 448
22.2 系統設計 448
22.2.1 總體規劃 448
22.2.2 系統功能結構圖 448
22.2.3 開發及運行環境 449
22.3 資料庫設計 449
22.3.1 數據表概要說明 449
22.3.2 主數據表的結構 450
22.4 系統總體架構 452
22.4.1 資料夾架構 452
22.4.2 檔案架構 452
22.5 公共類編寫 453
22.5.1 DBConnection類 454
22.5.2 DBOperate類 454
22.6 系統模組設計 458
22.6.1 系統登錄模組設計 458
22.6.2 系統主窗體設計 459
22.6.3 檔案管理窗體 461
22.6.4 獎罰管理窗體 469
22.6.5 調動管理窗體 474
22.6.6 考評管理窗體 478
22.6.7 考勤津貼窗體 483
22.6.8 工資總結窗體 486
22.7 疑難問題解析 488
22.8 本章小結 488
附錄 實例快速檢索 489
序言
C#是微軟公司為VisuaI Studio開發平台推出的一種高級程式語言,該語言支持各種類型的應用程式開發,包括控制台應用程式、WitlForms應用程式和ASP.NET應用程式等。C#語言是一種簡潔、類型安全的面向對象的程式語言,它逐漸成為程式開發人員使用的主流程式語言。
為什麼要選擇本書
怎樣才能更有效地學習C#?
怎樣才能更深入地學習C#?
怎樣才能更熟練地掌握C#?
也許您會問,我以前沒有編程基礎和經驗,我能快速上手嗎?別擔心,本書是為C#初學者而作,如果您是學習C}}的新手,本書對您而言是一本不可多得的學習用書。只要您認真閱讀本書,相信您一定會在很短的時間內掌握其中的方法。同時,本書提供了11小時的視頻教學錄像,可以幫助您在C#編程世界中暢遊。
也許您還會問,我已有一些編程基礎,這本書適合我嗎,當然適合,讀者可以根據實際情況選擇閱讀本書的不同部分。起步篇介紹C#編程必須掌握的基本技術,非常適合初學者入門學習;提高篇介紹實際開發中必須用到的技術及C#3.5新技術,適合初、中級用戶編程提高之用;實例篇講解實際項目的開發,適合讀者檢驗學習效果,快速提高實際編程能力。