《C#開發實戰》從初學者的角度講述了使用Visual Studio 2010開發環境結合C#語言進行程式開發應該掌握的各項技術,突出“基礎”、“全面”、“深入”,同時強調“實戰”效果。
基本介紹
- 作者:軟體開發技術聯盟 編著
- ISBN:9787302318903
- 定價:89.80元
- 出版社:清華大學出版社
- 出版時間:2013-9-1
- 裝幀:平裝
內容介紹,作品目錄,
內容介紹
全書在介紹技術的同時,都會提供示例或稍大一些的實例,同時在結尾安排實戰,通過多個實戰來綜合套用本章所講解的知識,做到理論聯繫實際;前4篇的最後一章有一個綜合實驗,通過一個模組綜合講解本篇所講解的內容;本書最後一篇提供了兩個完整的項目實例,講述從前期規劃、設計流程到項目最終實施的整個實現過程。
全書共分30章,主要內容包括初探C#及其開發環境,認識C#代碼結構,C#程式設計基礎,選擇結構控制,循環結構控制,字元及字元串,數組、集合與哈希表,面向對象程式設計,綜合實驗(一)——365桌面提醒器,Windows窗體設計,Windows應用程式常用控制項,Windows應用程式高級控制項,對話框、選單、工具列及狀態欄控制項,綜合實驗(二)——QQ自動登錄器模組,資料庫編程基礎,ADO.NET數據訪問技術,DataGridView數據控制項,面向對象編程高級技術,枚舉類型與泛型,LINQ技術的使用,綜合實驗(三)——SQL數據表提取器模組,檔案及I/O,GDI+繪圖及列印技術,網路編程,執行緒的使用,異常處理與程式調試,Windows應用程式打包部署,綜合實驗(四)——FTP檔案管理模組,進銷存管理系統,企業人事管理系統等。所有知識都結合具體實例進行介紹,對涉及的程式代碼給出了詳細的注釋,讀者可以輕鬆領會C#程式開發的精髓,快速提高開發技能。本書特色及豐富的學習資源包如下:
黃金學習搭配、專業學習視頻、重難點精確打擊、學習經驗分享、學習測試診斷、有趣實踐任務、專業資源庫、學習排憂解難、獲取源程式、提供習題答案、贈送開發案例。
本書適合有志於軟體開發的初學者、高校計算機相關專業學生和畢業生,也可作為軟體開發人員的參考手冊,或者高校的教學參考書。
作品目錄
目 錄
第1篇 新 手 入 門
第1章 初探C#及其開發環境 2
視頻講解:60分鐘
1.1 了解.NET 3
1.1.1 .NET概述 3
1.1.2 .NET程式編譯原理 3
1.1.3 .NET項目成功案例 4
1.2 C#語言及其特點 5
1.2.1 C#與.NET的關係 5
1.2.2 C#語言的特點 5
1.2.3 C#語言的發展趨勢 5
1.3 安裝與卸載Visual Studio 2010 5
1.3.1 安裝Visual Studio 2010系統必備條件 6
1.3.2 安裝Visual Studio 2010 6
1.3.3 卸載Visual Studio 2010 8
1.4 熟悉Visual Studio 2010開發環境 8
1.4.1 創建控制台應用程式 8
1.4.2 創建Windows窗體應用程式 9
1.4.3 選單欄 10
1.4.4 工具列介紹 10
1.4.5 "工具箱"面板 11
1.4.6 "屬性"面板 11
1.4.7 解決方案資源管理器 11
1.4.8 "錯誤列表"面板 12
1.4.9 "輸出"面板 12
1.5 C#編程常用幫助 12
1.5.1 安裝Help Library管理器 13
1.5.2 使用Help Library管理器 13
1.5.3 常用的C#編程幫助網站 14
1.6 實戰 15
1.6.1 如何開始運行程式 15
1.6.2 如何中斷當前程式的運行 15
1.7 小結 16
1.8 學習成果檢驗 16
第2章 認識C#代碼結構 17
視頻講解:40分鐘
2.1 定製自己的開發環境 18
2.1.1 設定代碼字型和顏色 18
2.1.2 設定顯示代碼行號 18
2.1.3 靈活使用自動隱藏功能 19
2.2 編寫第一個C#程式 19
2.3 分析C#程式結構 20
2.3.1 命名空間介紹 20
2.3.2 類 21
2.3.3 Main方法 21
2.3.4 標識符 22
2.3.5 關鍵字 22
2.3.6 編寫C#語句 22
2.3.7 代碼注釋 23
2.4 實戰 24
2.4.1 使用"記事本"編寫C#程式並編譯 24
2.4.2 如何快速找到程式出錯位置 24
2.4.3 為程式設定版本和幫助信息 25
2.4.4 為項目添加已有窗體 26
2.4.5 動起來的Label控制項 26
2.5 小結 27
2.6 學習成果檢驗 27
第3章 C#程式設計基礎 28
視頻講解:98分鐘
3.1 數據類型 29
3.1.1 值類型的使用 29
3.1.2 引用類型的使用 31
3.2 聲明並使用變數 32
3.2.1 變數的聲明及初始化 32
3.2.2 變數的作用域 33
3.3 聲明並使用常量 33
3.4 數據類型轉換 34
3.4.1 隱式類型轉換 34
3.4.2 顯式類型轉換 35
3.4.3 裝箱和拆箱 36
3.5 運算符的使用 37
3.5.1 算術運算符 38
3.5.2 賦值運算符 39
3.5.3 關係運算符 40
3.5.4 邏輯運算符 42
3.5.5 移位運算符 44
3.5.6 其他特殊運算符 45
3.5.7 運算符的優先權 46
3.6 實戰 47
3.6.1 製作用戶登錄程式 47
3.6.2 判斷一個數是否是素數 48
3.6.3 使用算術運算符開發簡單計算器 49
3.6.4 使用"^"運算符對數字進行加密 50
3.6.5 巧用位移運算符獲取漢字編碼值 51
3.6.6 使用條件運算符判斷指定年份是不是
閏年 51
3.7 小結 52
3.8 學習成果檢驗 52
第4章 選擇結構控制 53
視頻講解:38分鐘
4.1 C#程式設計算法 54
4.2 if語句的使用 56
4.2.1 使用if...else語句實現條件選擇 56
4.2.2 if語句的嵌套使用 58
4.3 switch語句的使用 60
4.3.1 使用switch語句實現多分支選擇 60
4.3.2 if...else語句與switch語句 61
4.4 實戰 63
4.4.1 判斷用戶登錄身份 63
4.4.2 遞歸算法的經典面試題 64
4.4.3 使用switch語句實現數字轉換大寫 65
4.4.4 使用流程控制語句報銷業務花銷 66
4.4.5 小明去學校和醫院分別要走哪條路 66
4.5 小結 67
4.6 學習成果檢驗 67
第5章 循環結構控制 68
視頻講解:48分鐘
5.1 while和do...while語句的使用 69
5.1.1 使用while語句實現代碼循環 69
5.1.2 使用do...while語句實現至少執行一次
循環 70
5.1.3 while和do...while語句的區別 71
5.2 for和foreach語句的使用 72
5.2.1 使用for語句實現代碼循環 72
5.2.2 使用foreach語句遍歷數據集合 73
5.3 循環結構中的跳轉語句 74
5.3.1 使用break語句跳出循環 74
5.3.2 使用continue語句繼續程式的執行 76
5.3.3 使用goto語句實現程式跳轉 76
5.3.4 使用return語句使程式返回 78
5.4 實戰 79
5.4.1 雞尾酒排序算法的實現 79
5.4.2 哥德巴赫猜想算法的實現 80
5.4.3 使用switch語句更改窗體顏色 82
5.4.4 使用goto語句在數組中搜尋指定圖書 83
5.4.5 製作一個數字猜猜看小遊戲 83
5.5 小結 85
5.6 學習成果檢驗 85
第6章 字元及字元串 86
視頻講解:72分鐘
6.1 字元操作 87
6.1.1 Char類概述 87
6.1.2 使用Char類中的方法對字元進行操作 87
6.1.3 認識並使用轉義字元 88
6.2 字元串的聲明及初始化 89
6.2.1 String類概述 89
6.2.2 聲明字元串 90
6.2.3 初始化字元串 90
6.3 字元串操作 90
6.3.1 比較字元串 90
6.3.2 格式化字元串 92
6.3.3 截取字元串 94
6.3.4 分割字元串 94
6.3.5 插入和填充字元串 95
6.3.6 刪除字元串 97
6.3.7 複製字元串 97
6.3.8 替換字元串 99
6.4 可變字元串類StringBuilder的使用 100
6.4.1 StringBuilder類概述 100
6.4.2 創建StringBuilder對象 100
6.4.3 StringBuilder類的使用 101
6.4.4 StringBuilder類與String類的區別 102
6.5 實戰 102
6.5.1 長字元串分段顯示 102
6.5.2 字元串加密與解密 103
6.5.3 根據漢字獲得其區位碼 104
6.5.4 字母與ASCII碼的轉換 105
6.5.5 將漢字轉換為拼音 106
6.5.6 批量替換某一類字元串 106
6.5.7 開發一個進制轉換器 106
6.6 小結 109
6.7 學習成果檢驗 109
第7章 數組、集合與哈希表 110
視頻講解:96分鐘
7.1 數組概述 111
7.2 一維數組的聲明和使用 111
7.2.1 一維數組的聲明 111
7.2.2 一維數組的使用 112
7.3 二維數組的聲明和使用 113
7.3.1 二維數組的聲明 113
7.3.2 二維數組的使用 113
7.3.3 動態數組的聲明及使用 114
7.4 數組的基本操作 115
7.4.1 遍歷數組中的元素 115
7.4.2 添加/刪除數組元素 115
7.4.3 使用排序算法對數組進行排序 116
7.4.4 數組的合併與拆分 118
7.5 ArrayList集合的使用 120
7.5.1 ArrayList集合概述 120
7.5.2 添加ArrayList集合元素 121
7.5.3 刪除ArrayList集合元素 123
7.5.4 遍歷ArrayList集合 124
7.5.5 查找ArrayList集合元素 125
7.6 Hashtable(哈希表)的使用 126
7.6.1 Hashtable概述 126
7.6.2 添加Hashtable元素 126
7.6.3 刪除Hashtable元素 127
7.6.4 遍歷Hashtable元素 128
7.6.5 查找Hashtable元素 128
7.7 實戰 129
7.7.1 使用數組解決約瑟夫環問題 129
7.7.2 希爾排序算法的實現 130
7.7.3 使用哈希表查找XML檔案 131
7.7.4 操作便捷的簡單電話簿 132
7.7.5 向班級集合中添加學生信息 133
7.7.6 設計一個簡單客車售票記錄程式 134
7.8 小結 135
7.9 學習成果檢驗 135
第8章 面向對象程式設計 136
視頻講解:96分鐘
8.1 面向對象編程概述 137
8.2 屬性的定義及使用 137
8.2.1 屬性概述 138
8.2.2 屬性的定義 138
8.2.3 屬性的使用 139
8.3 方法的聲明及使用 140
8.3.1 方法概述 140
8.3.2 方法修飾符 140
8.3.3 方法的聲明 141
8.3.4 方法的分類 142
8.3.5 重載方法的實現 142
8.4 結構的定義及使用 143
8.4.1 結構概述 143
8.4.2 結構的定義 144
8.4.3 結構的使用 144
8.5 類與對象詳解 145
8.5.1 類的概念 145
8.5.2 類的聲明 146
8.5.3 構造函式和析構函式 146
8.5.4 對象的聲明和實例化 147
8.5.5 類與對象的關係 149
8.6 面向對象特性之封裝 149
8.6.1 封裝概述 149
8.6.2 封裝的實現 150
8.7 面向對象特性之繼承 151
8.7.1 繼承概述 151
8.7.2 繼承的實現 151
8.7.3 單繼承的使用 153
8.7.4 多重繼承的使用 154
8.8 面向對象特性之多態 156
8.8.1 多態概述 156
8.8.2 多態的實現 157
8.9 實戰 159
8.9.1 使用面向對象思想實現簡單計算器 159
8.9.2 使用面向對象思想實現在字元串中查找
數字 160
8.9.3 通過類的多態性確定人類的說話行為 161
8.9.4 存儲不同類型的數據列表 162
8.9.5 去掉數組中的重複數字 162
8.10 小結 163
8.11 學習成果檢驗 163
第9章 綜合實驗(一)--365桌面
提醒器 164
視頻講解:78分鐘
9.1 365桌面提醒器概述 165
9.1.1 提醒設定流程 165
9.1.2 計畫錄入流程 165
9.1.3 計畫查詢流程 165
9.1.4 計畫統計流程 166
9.1.5 定時關機流程 166
9.1.6 程式預覽 167
9.2 資料庫設計 168
9.3 關鍵技術 168
9.3.1 通過修改註冊表實現自動運行程式 168
9.3.2 使用多執行緒處理彈出"提示氣泡"
任務 170
9.3.3 使用擴展方法為系統類型添加新功能 171
9.3.4 套用初始化器創建集合或對象 171
9.3.5 使用ADO.NET對象提交數據 172
9.4 公共類設計 172
9.4.1 封裝數據值和顯示值的類 172
9.4.2 綁定和顯示數據的類 173
9.5 提醒設定 174
9.5.1 提醒設定功能概述 174
9.5.2 "提醒設定"界面設計 174
9.5.3 打開"提醒設定"界面 174
9.5.4 保存提示設定 175
9.6 計畫錄入 176
9.6.1 計畫錄入功能概述 176
9.6.2 "計畫錄入"界面設計 176
9.6.3 打開"計畫錄入"界面 177
9.6.4 添加計畫任務 177
9.6.5 保存計畫任務 178
9.6.6 刪除計畫任務 179
9.7 計畫查詢 180
9.7.1 計畫查詢功能概述 180
9.7.2 "計畫查詢"界面設計 180
9.7.3 打開"計畫查詢"界面 180
9.7.4 查詢計畫信息 181
9.7.5 處理計畫 182
9.8 計畫統計 183
9.8.1 計畫統計功能概述 183
9.8.2 "計畫統計"界面設計 183
9.8.3 統計計畫信息 184
9.9 小結 184
9.10 學習成果檢驗 184
第2篇 進 階 提 高
第10章 Windows窗體設計 186
視頻講解:60分鐘
10.1 Form窗體基礎 187
10.1.1 Form窗體概述 187
10.1.2 添加和刪除Form窗體 187
10.1.3 添加多窗體 188
10.1.4 設定窗體的屬性 189
10.1.5 窗體的顯示與隱藏 191
10.1.6 觸發窗體事件 191
10.2 MDI窗體設計 192
10.2.1 MDI窗體概述 192
10.2.2 設定MDI窗體 193
10.2.3 排列MDI子窗體 193
10.3 繼承窗體設計 195
10.3.1 繼承窗體概述 195
10.3.2 創建繼承窗體 195
10.3.3 在繼承窗體中修改繼承的控制項屬性 197
10.4 實戰 198
10.4.1 設計一個系統登錄窗體 198
10.4.2 製作啟動歡迎界面 198
10.4.3 從上次關閉位置啟動窗體 199
10.4.4 自定義"最大化"、"最小化"和
"關閉"按鈕 200
10.4.5 製作滑鼠穿透窗體 202
10.4.6 窗體換膚程式 202
10.5 小結 204
10.6 學習成果檢驗 204
第11章 Windows應用程式常用控制項 205
視頻講解:120分鐘
11.1 控制項概述 206
11.1.1 控制項的分類及作用 206
11.1.2 控制項命名規範 207
11.2 控制項的相關操作 207
11.2.1 添加控制項 207
11.2.2 對齊控制項 208
11.2.3 鎖定控制項 208
11.2.4 刪除控制項 208
11.3 文本類控制項 208
11.3.1 標籤控制項 209
11.3.2 按鈕控制項 209
11.3.3 文本框控制項 210
11.3.4 有格式文本控制項 212
11.4 選擇類控制項 214
11.4.1 下拉組合框控制項 215
11.4.2 複選框控制項 216
11.4.3 單選按鈕控制項 217
11.4.4 數值選擇控制項 218
11.4.5 列表控制項 219
11.5 分組控制項 221
11.5.1 容器控制項 222
11.5.2 分組框控制項 222
11.5.3 選項卡控制項 223
11.6 實戰 225
11.6.1 判斷註冊用戶操作許可權 225
11.6.2 使用ListBox實現點菜功能 228
11.6.3 只允許輸入數字的TextBox控制項 230
11.6.4 實現類似Word的項目編號功能 230
11.6.5 在RichTextBox控制項中實現關鍵字描紅 231
11.6.6 對ListBox控制項中的數據進行排序 231
11.7 小結 232
11.8 學習成果檢驗 232
第12章 Windows應用程式高級控制項 233
視頻講解:125分鐘
12.1 存儲圖像控制項(ImageList控制項) 234
12.1.1 在ImageList控制項中添加圖像 234
12.1.2 在ImageList控制項中移除圖像 234
12.2 列表視圖控制項(ListView控制項) 235
12.2.1 在ListView控制項中添加/移除項 236
12.2.2 選擇ListView控制項中的項 237
12.2.3 為ListView控制項中的項添加圖示 238
12.2.4 在ListView控制項中啟用平鋪視圖 238
12.2.5 為ListView控制項中的項分組 239
12.3 樹控制項(TreeView控制項) 241
12.3.1 添加和刪除樹節點 241
12.3.2 獲取樹控制項中選中的節點 242
12.3.3 為樹控制項中的節點設定圖示 243
12.4 日期控制項(DateTimePicker控制項) 244
12.4.1 使用DateTimePicker控制項顯示時間 244
12.4.2 使用DateTimePicker控制項以自定義格式
顯示日期 244
12.4.3 返回DateTimePicker控制項中選擇的
日期 245
12.5 月曆控制項(MonthCalendar控制項) 246
12.5.1 更改MonthCalendar控制項的外觀 246
12.5.2 在MonthCalendar控制項中顯示多個
月份 247
12.5.3 在MonthCalendar控制項中以粗體顯示
特定日期 247
12.5.4 在MonthCalendar控制項中選擇日期
範圍 248
12.6 其他高級控制項 249
12.6.1 使用ErrorProvider控制項驗證文本框
輸入 249
12.6.2 使用HelpProvider控制項調用幫助檔案 250
12.6.3 使用Timer控制項設定時間間隔 251
12.6.4 使用ProgressBar控制項顯示程式運行進
度條 252
12.7 實戰 252
12.7.1 設計一個電子萬年曆 252
12.7.2 製作一個鬧鐘計時器 254
12.7.3 在模式視窗中顯示進度條 257
12.7.4 使用TreeView控制項遍歷磁碟目錄 259
12.7.5 用樹型列表動態顯示選單 260
12.8 小結 261
12.9 學習成果檢驗 261
第13章 對話框、選單、工具列及狀態欄
控制項 262
視頻講解:48分鐘
13.1 對話框控制項 263
13.1.1 對話框概述 263
13.1.2 打開對話框控制項 263
13.1.3 另外儲存為對話框控制項 263
13.1.4 瀏覽資料夾對話框控制項 264
13.1.5 顏色對話框控制項 265
13.1.6 字型對話框控制項 265
13.2 選單、工具列和狀態欄控制項 266
13.2.1 選單控制項(MenuStrip控制項) 266
13.2.2 工具列控制項(ToolStrip控制項) 266
13.2.3 狀態欄控制項(StatusStrip控制項) 267
13.3 實戰 268
13.3.1 製作帶歷史信息的選單 268
13.3.2 製作仿XP系統的系統列選單 269
13.3.3 具有提示功能的工具列 271
13.3.4 級聯選單的動態合併 271
13.3.5 在狀態欄中顯示當前系統操作員 272
13.4 小結 272
13.5 學習成果檢驗 272
第14章 綜合實驗(二)--QQ自動
登錄器模組 273
視頻講解:62分鐘
14.1 QQ自動登錄器概述 274
14.1.1 QQ自動登錄器流程 274
14.1.2 主窗體流程 274
14.1.3 添加QQ賬號流程 274
14.1.4 路徑設定流程 275
14.1.5 程式預覽 275
14.2 資料庫設計 275
14.3 關鍵技術 276
14.3.1 QQ自動登錄器的實現原理 276
14.3.2 使用MD5加密算法加密QQ密碼 276
14.3.3 使用XML檔案存儲QQ賬號信息 277
14.3.4 使用XmlElement類序列化QQ賬號
屬性 278
14.3.5 通過XML檔案讀取和寫入QQ賬號
信息 279
14.3.6 使用註冊表存儲信息 281
14.4 主窗體 281
14.4.1 主窗體功能概述 281
14.4.2 主窗體界面設計 281
14.4.3 初始化QQ列表 282
14.4.4 啟動多個QQ賬號 283
14.4.5 啟動QQ程式 284
14.4.6 增加QQ賬號信息 285
14.4.7 修改QQ賬號信息 285
14.4.8 刪除QQ賬號 286
14.4.9 設定QQ賬號為隱身 286
14.5 添加QQ賬號 287
14.5.1 添加QQ賬號功能概述 287
14.5.2 添加QQ賬號界面設計 287
14.5.3 添加QQ賬號 287
14.6 路徑設定 289
14.6.1 路徑設定功能概述 289
14.6.2 路徑設定界面設計 289
14.6.3 顯示原有路徑設定 289
14.6.4 選擇QQ程式路徑 290
14.6.5 保存路徑設定 290
14.7 小結 291
14.8 學習成果檢驗 291
第3篇 中 級 開 發
第15章 資料庫編程基礎 294
視頻講解:56分鐘
15.1 資料庫基礎 295
15.1.1 資料庫簡介 295
15.1.2 安裝SQL Server 2000資料庫 295
15.1.3 安裝SQL Server 2005資料庫 297
15.1.4 安裝SQL Server 2008資料庫 299
15.1.5 資料庫的創建及刪除 304
15.1.6 數據表的創建及刪除 304
15.2 SQL語言基礎 306
15.2.1 SQL語言簡介 306
15.2.2 簡單SQL語句的套用 306
15.3 實戰 311
15.3.1 使用INSERT SELECT語句批量
插入數據 311
15.3.2 從一個表中向另一個表中複製行 311
15.3.3 統計某個值出現的次數 312
15.3.4 對多列的求和運算 313
15.3.5 通過CASE語句生成靜態交叉表 314
15.4 小結 314
15.5 學習成果檢驗 314
第16章 ADO.NET數據訪問技術 315
視頻講解:90分鐘
16.1 ADO.NET概述 316
16.2 使用Connection對象連線資料庫 316
16.2.1 Connection對象概述 316
16.2.2 連線資料庫 316
16.2.3 關閉連線 317
16.3 使用Command對象執行SQL
語句 319
16.3.1 Command對象概述 319
16.3.2 設定數據源類型 319
16.3.3 執行SQL語句 320
16.4 使用DataReader對象讀取數據 322
16.4.1 DataReader對象概述 322
16.4.2 判斷查詢結果中是否有值 323
16.4.3 讀取數據 324
16.5 數據適配器:DataAdapter對象 324
16.5.1 DataAdapter對象概述 324
16.5.2 填充DataSet數據集 325
16.5.3 更新數據源 325
16.6 數據集:DataSet對象 327
16.6.1 DataSet對象概述 327
16.6.2 合併DataSet內容 327
16.6.3 複製DataSet內容 328
16.7 實戰 329
16.7.1 使用二進制存儲用戶頭像 329
16.7.2 使用存儲過程實現員工自動編號 332
16.7.3 使用交叉表統計商品銷售信息 333
16.7.4 向SQL Server資料庫中批量寫入海量
數據 336
16.7.5 使用斷開式連線批量更新資料庫中的
數據 337
16.7.6 綜合查詢職工詳細信息 337
16.8 小結 340
16.9 學習成果檢驗 340
第17章 DataGridView數據控制項 341
視頻講解:52分鐘
17.1 DataGridView控制項概述 342
17.2 在DataGridView控制項中顯示數據 342
17.3 獲取DataGridView控制項中的當前
單元格 343
17.4 在DataGridView控制項中修改數據 344
17.5 選中DataGridView控制項中的行時
顯示不同顏色 345
17.6 禁止在DataGridView控制項中添加和
刪除行 347
17.7 禁用DataGridView控制項的自動排序
功能 347
17.8 合併DataGridView控制項中的單
元格 348
17.9 實戰 350
17.9.1 將DataGridView中的數據導出到
Word 350
17.9.2 將DataGridView中的數據導出到
Excel 351
17.9.3 在DataGridView控制項中驗證數據
輸入 352
17.9.4 在DataGridView控制項中添加"合計"和
"平均值" 353
17.9.5 通過DataGridView分頁查看用戶信息 354
17.10 小結 356
17.11 學習成果檢驗 356
第18章 面向對象編程高級技術 357
視頻講解:48分鐘
18.1 接口的聲明及實現 358
18.1.1 接口概述 358
18.1.2 接口的聲明 358
18.1.3 接口的實現與繼承 359
18.1.4 顯式接口成員實現 360
18.2 抽象類的聲明及使用 362
18.2.1 抽象類概述 362
18.2.2 抽象類的聲明 362
18.2.3 抽象方法的聲明 362
18.2.4 抽象類的使用 363
18.2.5 抽象類與接口 364
18.3 密封類的聲明及使用 364
18.3.1 密封類概述 364
18.3.2 密封類的聲明 365
18.3.3 密封方法的聲明 365
18.3.4 密封類的使用 366
18.4 實戰 367
18.4.1 使用多重繼承實現教師和學生信息的
輸出 367
18.4.2 對用戶信息進行密封 369
18.4.3 自定義抽象類計算圓形的面積 371
18.4.4 利用接口實現選擇不同的語言 371
18.4.5 使用接口作為方法參數進行編程 372
18.4.6 通過重寫虛方法實現加法運算 373
18.5 小結 373
18.6 學習成果檢驗 373
第19章 枚舉類型與泛型 374
視頻講解:30分鐘
19.1 枚舉類型 375
19.1.1 枚舉類型概述 375
19.1.2 枚舉類型的聲明 375
19.1.3 枚舉類型基類--Enum類 376
19.1.4 枚舉類型的使用 377
19.2 泛型及其使用 378
19.2.1 泛型概述 378
19.2.2 類型參數T 378
19.2.3 泛型接口的聲明及使用 379
19.2.4 泛型方法的聲明及使用 379
19.3 實戰 380
19.3.1 使用枚舉判斷用戶操作許可權 380
19.3.2 使用泛型去掉數組中的重複數字 381
19.3.3 使用疊代器顯示公車站點 383
19.3.4 使用分部類實現多種計算方法 383
19.3.5 通過繼承泛型類實現輸出學生信息 384
19.4 小結 385
19.5 學習成果檢驗 385
第20章 LINQ技術的使用 386
視頻講解:76分鐘
20.1 LINQ基礎 387
20.1.1 LINQ概述 387
20.1.2 使用var創建隱型局部變數 387
20.1.3 Lambda表達式的使用 388
20.1.4 LINQ查詢表達式 389
20.2 LINQ操作SQL Server資料庫 390
20.2.1 使用LINQ查詢SQL Server資料庫 390
20.2.2 使用LINQ管理SQL Server資料庫 393
20.3 LINQ操作其他數據 398
20.3.1 使用LINQ運算元組和集合 398
20.3.2 使用LINQ操作DataSet數據集 399
20.3.3 使用LINQ操作XML 400
20.4 實戰 403
20.4.1 使用LINQ技術獲取檔案詳細信息 403
20.4.2 使用LINQ技術分類查詢公司員工
薪水 405
20.4.3 使用存儲過程查詢單表數據 406
20.4.4 使用LINQ技術防止SQL注入式攻擊 407
20.4.5 使用LINQ技術實現數據分頁 407
20.4.6 從頭開始提取滿足指定條件的記錄 409
20.4.7 讀取XML檔案並更新到資料庫 409
20.5 小結 411
20.6 學習成果檢驗 411
第21章 綜合實驗(三)--SQL數據表
提取器模組 412
視頻講解:54分鐘
21.1 SQL數據表提取器概述 413
21.1.1 附加本地資料庫流程 413
21.1.2 提取表結構流程 413
21.1.3 導出數據流程 413
21.1.4 程式預覽 414
21.2 關鍵技術 415
21.2.1 添加COM組件 415
21.2.2 附加SQL Server資料庫 415
21.2.3 分離SQL Server資料庫 416
21.2.4 設定SQL Server資料庫模式 416
21.3 主窗體 418
21.3.1 主窗體功能概述 418
21.3.2 主窗體界面設計 418
21.3.3 檢索網路中的伺服器 419
21.3.4 獲取資料庫的名稱 419
21.3.5 選擇提取信息 421
21.4 附加本地資料庫 422
21.4.1 附加本地資料庫功能概述 422
21.4.2 附加本地資料庫界面設計 422
21.4.3 瀏覽附加檔案路徑 423
21.4.4 實現資料庫附加 423
21.5 提取表結構 424
21.5.1 提取表結構功能概述 424
21.5.2 "提取表結構"界面設計 424
21.5.3 獲取表結構信息 425
21.5.4 導出到Excel 425
21.5.5 導出到Word 426
21.6 導出數據 427
21.6.1 導出數據功能概述 427
21.6.2 "導出數據"界面設計 428
21.6.3 獲取數據信息 428
21.6.4 數據的導出 429
21.7 小結 431
21.8 學習成果檢驗 431
第4篇 高 級 應 用
第22章 檔案及I/O 434
視頻講解:112分鐘
22.1 檔案操作基礎 435
22.1.1 File類和FileInfo類介紹 435
22.1.2 Directory類和DirectoryInfo類介紹 438
22.2 檔案基本操作 440
22.2.1 判斷檔案是否存在 440
22.2.2 創建檔案 441
22.2.3 複製檔案 442
22.2.4 移動檔案 442
22.2.5 刪除檔案 443
22.2.6 獲取檔案基本信息 443
22.3 資料夾基本操作 444
22.3.1 判斷資料夾是否存在 444
22.3.2 創建資料夾 445
22.3.3 移動資料夾 445
22.3.4 刪除資料夾 446
22.3.5 遍歷資料夾 446
22.4 I/O(輸入/輸出) 448
22.4.1 流概述 448
22.4.2 檔案I/O流介紹 449
22.4.3 使用I/O流操作文本檔案 450
22.4.4 使用I/O流操作二進制檔案 452
22.5 實戰 454
22.5.1 檔案批量重命名的實現 454
22.5.2 製作一個分割與合併檔案工具 457
22.5.3 根據日期動態建立檔案 460
22.5.4 複製檔案時顯示複製進度 460
22.5.5 偽裝資料夾 462
22.5.6 對指定資料夾中的檔案進行分類存儲 463
22.6 小結 464
22.7 學習成果檢驗 464
第23章 GDI+繪圖及列印技術 465
視頻講解:70分鐘
23.1 GDI+繪圖基礎 466
23.1.1 GDI+概述 466
23.1.2 創建Graphics對象 466
23.1.3 創建Pen對象 467
23.1.4 創建Brush對象 467
23.2 基本圖形繪製 469
23.2.1 繪製直線和矩形 469
23.2.2 繪製橢圓、圓弧和扇形 470
23.2.3 繪製多邊形 472
23.2.4 繪製文本 472
23.2.5 繪製圖形 473
23.3 Windows列印組件的使用 473
23.3.1 使用PageSetupDialog組件設定列印
文檔信息 473
23.3.2 使用PrintDialog組件顯示列印對
話框 474
23.3.3 使用PrintDocument組件設定列印
文檔 475
23.3.4 使用PrintPreviewControl組件設定列印
預覽文檔 476
23.3.5 使用PrintPreviewDialog組件顯示列印
預覽 477
23.4 實戰 477
23.4.1 套用GDI+技術實現圖像的水印效果 477
23.4.2 套用GDI+技術實現批量圖像格式
轉換 480
23.4.3 抓取網站整頁面 484
23.4.4 打造自己的開心農場 487
23.4.5 使用列印組件列印商品入庫單信息 489
23.5 小結 491
23.6 學習成果檢驗 491
第24章 網路編程 492
視頻講解:110分鐘
24.1 計算機網路基礎 493
24.1.1 區域網路與網際網路介紹 493
24.1.2 網路協定介紹 493
24.1.3 連線埠及套接字介紹 495
24.2 網路編程基礎 496
24.2.1 System.Net命名空間及相關類的
使用 496
24.2.2 System.Net.Sockets命名空間及相關類
的使用 501
24.2.3 System.Net.Mail命名空間及相關類的
使用 506
24.3 實戰 509
24.3.1 創建Web頁面瀏覽器 509
24.3.2 設計點對點聊天程式 510
24.3.3 電子郵件的傳送與接收 512
24.3.4 獲取網路信息及流量 516
24.3.5 遠程關閉與重啟計算機 517
24.4 小結 518
24.5 學習成果檢驗 518
第25章 執行緒的使用 519
視頻講解:84分鐘
25.1 執行緒概述 520
25.1.1 執行緒的定義與分類 520
25.1.2 多執行緒的使用 521
25.1.3 執行緒的生命周期 521
25.2 C#中的執行緒類Thread 522
25.3 執行緒調度 524
25.3.1 創建執行緒 524
25.3.2 執行緒的掛起與恢復 525
25.3.3 執行緒休眠 526
25.3.4 終止執行緒 526
25.3.5 執行緒的優先權 527
25.4 執行緒同步 529
25.4.1 執行緒同步機制 529
25.4.2 使用lock關鍵字實現執行緒同步 529
25.4.3 使用Monitor驅動對象實現執行緒同步 530
25.4.4 使用Mutex類實現執行緒同步 531
25.5 實戰 532
25.5.1 使用多執行緒製作連線埠掃描工具 532
25.5.2 使用執行緒控制向窗體中拖放圖片並
顯示 535
25.5.3 使用執行緒掃描區域網路IP位址 538
25.5.4 使用執行緒製作小遊戲 539
25.5.5 有進度條的檔案異步複製功能 540
25.6 小結 542
25.7 學習成果檢驗 542
第26章 異常處理與程式調試 543
視頻講解:36分鐘
26.1 異常處理與程式調試概述 544
26.2 異常處理語句的使用 544
26.2.1 使用throw語句拋出異常 544
26.2.2 使用try...catch語句捕捉異常 545
26.2.3 使用try...catch...finally語句捕捉異常 546
26.3 常用的程式調試操作 547
26.3.1 斷點操作 547
26.3.2 開始、中斷和停止程式的執行 548
26.3.3 單步執行 549
26.3.4 運行到指定位置 550
26.4 實戰 550
26.4.1 使用異常處理語句捕獲資料庫連線
異常 550
26.4.2 通過插入斷點查看局部變數的值 551
26.5 小結 552
26.6 學習成果檢驗 552
第27章 Windows應用程式打包部署 553
視頻講解:20分鐘
27.1 Windows Installer介紹 554
27.2 創建Windows安裝項目 554
27.3 製作Windows安裝程式 555
27.3.1 添加項目輸出 555
27.3.2 添加內容檔案 555
27.3.3 創建桌面捷徑 556
27.3.4 添加註冊表項 556
27.3.5 生成Windows安裝程式 557
27.4 部署Windows應用程式 558
27.5 實戰 559
27.5.1 為Windows安裝程式添加程式組 559
27.5.2 使用"發布"部署Windows套用
程式 560
27.6 小結 561
27.7 學習成果檢驗 561
第28章 綜合實驗(四)--FTP檔案
管理模組 562
視頻講解:60分鐘
28.1 FTP檔案管理模組概述 563
28.1.1 FTP登錄流程 563
28.1.2 本機檔案操作流程 563
28.1.3 伺服器檔案上傳/下載流程 563
28.1.4 程式預覽 564
28.2 關鍵技術 564
28.2.1 架設FTP伺服器 564
28.2.2 登錄FTP伺服器 566
28.2.3 獲取伺服器上檔案的大小 567
28.2.4 向FTP伺服器傳送命令 568
28.2.5 調用系統API 569
28.3 主窗體設計 569
28.3.1 主窗體功能概述 569
28.3.2 主窗體界面設計 570
28.4 FTP登錄 570
28.4.1 FTP登錄功能概述 570
28.4.2 登錄FTP伺服器 571
28.5 本機檔案操作 573
28.5.1 本機檔案操作功能概述 573
28.5.2 獲取本地磁碟 573
28.5.3 獲取指定磁碟中的檔案 574
28.5.4 批量上傳檔案 575
28.6 伺服器檔案上傳/下載 579
28.6.1 伺服器檔案上傳/下載功能概述 579
28.6.2 獲取FTP伺服器中的所有檔案 579
28.6.3 批量下載檔案 581
28.6.4 刪除FTP中的檔案或資料夾 584
28.7 小結 586
28.8 學習成果檢驗 586
第5篇 項 目 實 戰
第29章 進銷存管理系統 588
視頻講解:100分鐘
29.1 需求分析 589
29.2 系統設計 589
29.2.1 系統目標 589
29.2.2 系統功能結構 589
29.2.3 系統業務流程圖 589
29.2.4 檔案組織結構 589
29.3 系統運行環境 590
29.4 資料庫與數據表設計 590
29.4.1 資料庫分析 590
29.4.2 數據表設計 591
29.4.3 數據表邏輯關係 592
29.5 公共類設計 593
29.5.1 DataBase公共類 593
29.5.2 BaseInfo公共類 596
29.6 登錄模組設計 600
29.6.1 登錄模組概述 600
29.6.2 登錄模組實現原理 600
29.6.3 登錄模組實現過程 600
29.7 系統主窗體設計 601
29.7.1 系統主窗體概述 601
29.7.2 使用MenuStrip控制項設計選單欄 602
29.7.3 系統主窗體實現過程 602
29.8 庫存商品管理模組設計 603
29.8.1 庫存商品管理模組概述 603
29.8.2 自動生成庫存商品編號 603
29.8.3 庫存商品管理模組實現過程 603
29.9 進貨管理模組設計 607
29.9.1 進貨管理模組概述 607
29.9.2 向進貨單中批量添加商品 607
29.9.3 進貨管理模組實現過程 608
29.10 商品銷售排行模組設計 612
29.10.1 商品銷售排行模組概述 612
29.10.2 使用BETWEEN...AND關鍵字查詢
數據 612
29.10.3 商品銷售排行模組實現過程 612
29.11 庫存檔點模組設計 614
29.11.1 庫存檔點模組概述 614
29.11.2 隔離驅動模式的使用 614
29.11.3 庫存檔點模組實現過程 614
29.12 系統打包部署 616
29.13 小結 618
第30章 企業人事管理系統 619
視頻講解:130分鐘
30.1 系統分析 620
30.1.1 需求分析 620
30.1.2 可行性分析 620
30.1.3 編寫項目計畫書 621
30.2 系統設計 622
30.2.1 系統目標 622
30.2.2 系統功能結構 623
30.2.3 系統業務流程圖 623
30.2.4 系統編碼規範 624
30.3 系統運行環境 624
30.4 資料庫與數據表設計 624
30.4.1 資料庫分析 624
30.4.2 數據表設計 625
30.4.3 數據表邏輯關係 626
30.5 公共類設計 627
30.5.1 MyMeans公共類 628
30.5.2 MyModule公共類 629
30.6 登錄模組設計 640
30.6.1 設計登錄窗體 641
30.6.2 按Enter鍵時移動滑鼠焦點 641
30.6.3 登錄功能的實現 641
30.7 系統主窗體設計 642
30.7.1 設計選單欄 642
30.7.2 設計工具列 643
30.7.3 設計導航選單 644
30.7.4 設計狀態欄 644
30.8 人事檔案管理模組設計 645
30.8.1 設計"人事檔案管理"窗體 646
30.8.2 添加/修改人事檔案信息 647
30.8.3 刪除人事檔案信息 649
30.8.4 單條件查詢人事檔案信息 649
30.8.5 逐條查看人事檔案信息 651
30.8.6 將人事檔案信息導出為Word
文檔 653
30.9 人事資料查詢模組設計 657
30.9.1 設計"人事資料查詢"窗體 657
30.9.2 多條件查詢人事資料 658
30.10 通訊錄模組設計 659
30.10.1 設計"通訊錄"窗體 659
30.10.2 添加/修改通訊錄信息 659
30.10.3 刪除通訊錄信息 661
30.10.4 查詢通訊錄信息 661
30.11 用戶設定模組設計 662
30.11.1 設計"用戶設定"窗體 662
30.11.2 添加/修改用戶信息 663
30.11.3 刪除用戶基本信息 664
30.11.4 設定用戶操作許可權 665
30.12 開發中常見問題與解決 665
30.12.1 程式無法運行 665
30.12.2 無法添加職工基本信息 665
30.12.3 選擇職工頭像時出現異常 666
30.12.4 出現Word引用問題 667
30.12.5 COM選項卡中沒有Word 9.0
引用 667
30.13 小結 667
附錄A 選單欄命令 668
附錄B C#程式編碼規範 671
B.1 命名規則 671
B.1.1 數據類型簡寫規則 671
B.1.2 變數及對象名稱命名規則 671
B.1.3 類命名規則 671
B.1.4 屬性命名規則 672
B.1.5 方法命名規則 672
B.1.6 接口命名規則 672
B.1.7 控制項命名規則 672
B.2 代碼版式 673
B.2.1 統一代碼縮進 673
B.2.2 合理使用空行 673
B.2.3 代碼換行 673
B.2.4 空格的使用 673
B.3 代碼注釋 674
B.3.1 注釋的目的 674
B.3.2 代碼注釋規範 674
B.4 資料庫編程命名規範 674
B.4.1 資料庫命名規範 674
B.4.2 數據表命名規範 675
B.4.3 欄位命名規範 675
B.4.4 視圖命名規範 675
B.4.5 存儲過程命名規範 675
B.4.6 觸發器命名規範 676
第1篇 新 手 入 門
第1章 初探C#及其開發環境 2
視頻講解:60分鐘
1.1 了解.NET 3
1.1.1 .NET概述 3
1.1.2 .NET程式編譯原理 3
1.1.3 .NET項目成功案例 4
1.2 C#語言及其特點 5
1.2.1 C#與.NET的關係 5
1.2.2 C#語言的特點 5
1.2.3 C#語言的發展趨勢 5
1.3 安裝與卸載Visual Studio 2010 5
1.3.1 安裝Visual Studio 2010系統必備條件 6
1.3.2 安裝Visual Studio 2010 6
1.3.3 卸載Visual Studio 2010 8
1.4 熟悉Visual Studio 2010開發環境 8
1.4.1 創建控制台應用程式 8
1.4.2 創建Windows窗體應用程式 9
1.4.3 選單欄 10
1.4.4 工具列介紹 10
1.4.5 "工具箱"面板 11
1.4.6 "屬性"面板 11
1.4.7 解決方案資源管理器 11
1.4.8 "錯誤列表"面板 12
1.4.9 "輸出"面板 12
1.5 C#編程常用幫助 12
1.5.1 安裝Help Library管理器 13
1.5.2 使用Help Library管理器 13
1.5.3 常用的C#編程幫助網站 14
1.6 實戰 15
1.6.1 如何開始運行程式 15
1.6.2 如何中斷當前程式的運行 15
1.7 小結 16
1.8 學習成果檢驗 16
第2章 認識C#代碼結構 17
視頻講解:40分鐘
2.1 定製自己的開發環境 18
2.1.1 設定代碼字型和顏色 18
2.1.2 設定顯示代碼行號 18
2.1.3 靈活使用自動隱藏功能 19
2.2 編寫第一個C#程式 19
2.3 分析C#程式結構 20
2.3.1 命名空間介紹 20
2.3.2 類 21
2.3.3 Main方法 21
2.3.4 標識符 22
2.3.5 關鍵字 22
2.3.6 編寫C#語句 22
2.3.7 代碼注釋 23
2.4 實戰 24
2.4.1 使用"記事本"編寫C#程式並編譯 24
2.4.2 如何快速找到程式出錯位置 24
2.4.3 為程式設定版本和幫助信息 25
2.4.4 為項目添加已有窗體 26
2.4.5 動起來的Label控制項 26
2.5 小結 27
2.6 學習成果檢驗 27
第3章 C#程式設計基礎 28
視頻講解:98分鐘
3.1 數據類型 29
3.1.1 值類型的使用 29
3.1.2 引用類型的使用 31
3.2 聲明並使用變數 32
3.2.1 變數的聲明及初始化 32
3.2.2 變數的作用域 33
3.3 聲明並使用常量 33
3.4 數據類型轉換 34
3.4.1 隱式類型轉換 34
3.4.2 顯式類型轉換 35
3.4.3 裝箱和拆箱 36
3.5 運算符的使用 37
3.5.1 算術運算符 38
3.5.2 賦值運算符 39
3.5.3 關係運算符 40
3.5.4 邏輯運算符 42
3.5.5 移位運算符 44
3.5.6 其他特殊運算符 45
3.5.7 運算符的優先權 46
3.6 實戰 47
3.6.1 製作用戶登錄程式 47
3.6.2 判斷一個數是否是素數 48
3.6.3 使用算術運算符開發簡單計算器 49
3.6.4 使用"^"運算符對數字進行加密 50
3.6.5 巧用位移運算符獲取漢字編碼值 51
3.6.6 使用條件運算符判斷指定年份是不是
閏年 51
3.7 小結 52
3.8 學習成果檢驗 52
第4章 選擇結構控制 53
視頻講解:38分鐘
4.1 C#程式設計算法 54
4.2 if語句的使用 56
4.2.1 使用if...else語句實現條件選擇 56
4.2.2 if語句的嵌套使用 58
4.3 switch語句的使用 60
4.3.1 使用switch語句實現多分支選擇 60
4.3.2 if...else語句與switch語句 61
4.4 實戰 63
4.4.1 判斷用戶登錄身份 63
4.4.2 遞歸算法的經典面試題 64
4.4.3 使用switch語句實現數字轉換大寫 65
4.4.4 使用流程控制語句報銷業務花銷 66
4.4.5 小明去學校和醫院分別要走哪條路 66
4.5 小結 67
4.6 學習成果檢驗 67
第5章 循環結構控制 68
視頻講解:48分鐘
5.1 while和do...while語句的使用 69
5.1.1 使用while語句實現代碼循環 69
5.1.2 使用do...while語句實現至少執行一次
循環 70
5.1.3 while和do...while語句的區別 71
5.2 for和foreach語句的使用 72
5.2.1 使用for語句實現代碼循環 72
5.2.2 使用foreach語句遍歷數據集合 73
5.3 循環結構中的跳轉語句 74
5.3.1 使用break語句跳出循環 74
5.3.2 使用continue語句繼續程式的執行 76
5.3.3 使用goto語句實現程式跳轉 76
5.3.4 使用return語句使程式返回 78
5.4 實戰 79
5.4.1 雞尾酒排序算法的實現 79
5.4.2 哥德巴赫猜想算法的實現 80
5.4.3 使用switch語句更改窗體顏色 82
5.4.4 使用goto語句在數組中搜尋指定圖書 83
5.4.5 製作一個數字猜猜看小遊戲 83
5.5 小結 85
5.6 學習成果檢驗 85
第6章 字元及字元串 86
視頻講解:72分鐘
6.1 字元操作 87
6.1.1 Char類概述 87
6.1.2 使用Char類中的方法對字元進行操作 87
6.1.3 認識並使用轉義字元 88
6.2 字元串的聲明及初始化 89
6.2.1 String類概述 89
6.2.2 聲明字元串 90
6.2.3 初始化字元串 90
6.3 字元串操作 90
6.3.1 比較字元串 90
6.3.2 格式化字元串 92
6.3.3 截取字元串 94
6.3.4 分割字元串 94
6.3.5 插入和填充字元串 95
6.3.6 刪除字元串 97
6.3.7 複製字元串 97
6.3.8 替換字元串 99
6.4 可變字元串類StringBuilder的使用 100
6.4.1 StringBuilder類概述 100
6.4.2 創建StringBuilder對象 100
6.4.3 StringBuilder類的使用 101
6.4.4 StringBuilder類與String類的區別 102
6.5 實戰 102
6.5.1 長字元串分段顯示 102
6.5.2 字元串加密與解密 103
6.5.3 根據漢字獲得其區位碼 104
6.5.4 字母與ASCII碼的轉換 105
6.5.5 將漢字轉換為拼音 106
6.5.6 批量替換某一類字元串 106
6.5.7 開發一個進制轉換器 106
6.6 小結 109
6.7 學習成果檢驗 109
第7章 數組、集合與哈希表 110
視頻講解:96分鐘
7.1 數組概述 111
7.2 一維數組的聲明和使用 111
7.2.1 一維數組的聲明 111
7.2.2 一維數組的使用 112
7.3 二維數組的聲明和使用 113
7.3.1 二維數組的聲明 113
7.3.2 二維數組的使用 113
7.3.3 動態數組的聲明及使用 114
7.4 數組的基本操作 115
7.4.1 遍歷數組中的元素 115
7.4.2 添加/刪除數組元素 115
7.4.3 使用排序算法對數組進行排序 116
7.4.4 數組的合併與拆分 118
7.5 ArrayList集合的使用 120
7.5.1 ArrayList集合概述 120
7.5.2 添加ArrayList集合元素 121
7.5.3 刪除ArrayList集合元素 123
7.5.4 遍歷ArrayList集合 124
7.5.5 查找ArrayList集合元素 125
7.6 Hashtable(哈希表)的使用 126
7.6.1 Hashtable概述 126
7.6.2 添加Hashtable元素 126
7.6.3 刪除Hashtable元素 127
7.6.4 遍歷Hashtable元素 128
7.6.5 查找Hashtable元素 128
7.7 實戰 129
7.7.1 使用數組解決約瑟夫環問題 129
7.7.2 希爾排序算法的實現 130
7.7.3 使用哈希表查找XML檔案 131
7.7.4 操作便捷的簡單電話簿 132
7.7.5 向班級集合中添加學生信息 133
7.7.6 設計一個簡單客車售票記錄程式 134
7.8 小結 135
7.9 學習成果檢驗 135
第8章 面向對象程式設計 136
視頻講解:96分鐘
8.1 面向對象編程概述 137
8.2 屬性的定義及使用 137
8.2.1 屬性概述 138
8.2.2 屬性的定義 138
8.2.3 屬性的使用 139
8.3 方法的聲明及使用 140
8.3.1 方法概述 140
8.3.2 方法修飾符 140
8.3.3 方法的聲明 141
8.3.4 方法的分類 142
8.3.5 重載方法的實現 142
8.4 結構的定義及使用 143
8.4.1 結構概述 143
8.4.2 結構的定義 144
8.4.3 結構的使用 144
8.5 類與對象詳解 145
8.5.1 類的概念 145
8.5.2 類的聲明 146
8.5.3 構造函式和析構函式 146
8.5.4 對象的聲明和實例化 147
8.5.5 類與對象的關係 149
8.6 面向對象特性之封裝 149
8.6.1 封裝概述 149
8.6.2 封裝的實現 150
8.7 面向對象特性之繼承 151
8.7.1 繼承概述 151
8.7.2 繼承的實現 151
8.7.3 單繼承的使用 153
8.7.4 多重繼承的使用 154
8.8 面向對象特性之多態 156
8.8.1 多態概述 156
8.8.2 多態的實現 157
8.9 實戰 159
8.9.1 使用面向對象思想實現簡單計算器 159
8.9.2 使用面向對象思想實現在字元串中查找
數字 160
8.9.3 通過類的多態性確定人類的說話行為 161
8.9.4 存儲不同類型的數據列表 162
8.9.5 去掉數組中的重複數字 162
8.10 小結 163
8.11 學習成果檢驗 163
第9章 綜合實驗(一)--365桌面
提醒器 164
視頻講解:78分鐘
9.1 365桌面提醒器概述 165
9.1.1 提醒設定流程 165
9.1.2 計畫錄入流程 165
9.1.3 計畫查詢流程 165
9.1.4 計畫統計流程 166
9.1.5 定時關機流程 166
9.1.6 程式預覽 167
9.2 資料庫設計 168
9.3 關鍵技術 168
9.3.1 通過修改註冊表實現自動運行程式 168
9.3.2 使用多執行緒處理彈出"提示氣泡"
任務 170
9.3.3 使用擴展方法為系統類型添加新功能 171
9.3.4 套用初始化器創建集合或對象 171
9.3.5 使用ADO.NET對象提交數據 172
9.4 公共類設計 172
9.4.1 封裝數據值和顯示值的類 172
9.4.2 綁定和顯示數據的類 173
9.5 提醒設定 174
9.5.1 提醒設定功能概述 174
9.5.2 "提醒設定"界面設計 174
9.5.3 打開"提醒設定"界面 174
9.5.4 保存提示設定 175
9.6 計畫錄入 176
9.6.1 計畫錄入功能概述 176
9.6.2 "計畫錄入"界面設計 176
9.6.3 打開"計畫錄入"界面 177
9.6.4 添加計畫任務 177
9.6.5 保存計畫任務 178
9.6.6 刪除計畫任務 179
9.7 計畫查詢 180
9.7.1 計畫查詢功能概述 180
9.7.2 "計畫查詢"界面設計 180
9.7.3 打開"計畫查詢"界面 180
9.7.4 查詢計畫信息 181
9.7.5 處理計畫 182
9.8 計畫統計 183
9.8.1 計畫統計功能概述 183
9.8.2 "計畫統計"界面設計 183
9.8.3 統計計畫信息 184
9.9 小結 184
9.10 學習成果檢驗 184
第2篇 進 階 提 高
第10章 Windows窗體設計 186
視頻講解:60分鐘
10.1 Form窗體基礎 187
10.1.1 Form窗體概述 187
10.1.2 添加和刪除Form窗體 187
10.1.3 添加多窗體 188
10.1.4 設定窗體的屬性 189
10.1.5 窗體的顯示與隱藏 191
10.1.6 觸發窗體事件 191
10.2 MDI窗體設計 192
10.2.1 MDI窗體概述 192
10.2.2 設定MDI窗體 193
10.2.3 排列MDI子窗體 193
10.3 繼承窗體設計 195
10.3.1 繼承窗體概述 195
10.3.2 創建繼承窗體 195
10.3.3 在繼承窗體中修改繼承的控制項屬性 197
10.4 實戰 198
10.4.1 設計一個系統登錄窗體 198
10.4.2 製作啟動歡迎界面 198
10.4.3 從上次關閉位置啟動窗體 199
10.4.4 自定義"最大化"、"最小化"和
"關閉"按鈕 200
10.4.5 製作滑鼠穿透窗體 202
10.4.6 窗體換膚程式 202
10.5 小結 204
10.6 學習成果檢驗 204
第11章 Windows應用程式常用控制項 205
視頻講解:120分鐘
11.1 控制項概述 206
11.1.1 控制項的分類及作用 206
11.1.2 控制項命名規範 207
11.2 控制項的相關操作 207
11.2.1 添加控制項 207
11.2.2 對齊控制項 208
11.2.3 鎖定控制項 208
11.2.4 刪除控制項 208
11.3 文本類控制項 208
11.3.1 標籤控制項 209
11.3.2 按鈕控制項 209
11.3.3 文本框控制項 210
11.3.4 有格式文本控制項 212
11.4 選擇類控制項 214
11.4.1 下拉組合框控制項 215
11.4.2 複選框控制項 216
11.4.3 單選按鈕控制項 217
11.4.4 數值選擇控制項 218
11.4.5 列表控制項 219
11.5 分組控制項 221
11.5.1 容器控制項 222
11.5.2 分組框控制項 222
11.5.3 選項卡控制項 223
11.6 實戰 225
11.6.1 判斷註冊用戶操作許可權 225
11.6.2 使用ListBox實現點菜功能 228
11.6.3 只允許輸入數字的TextBox控制項 230
11.6.4 實現類似Word的項目編號功能 230
11.6.5 在RichTextBox控制項中實現關鍵字描紅 231
11.6.6 對ListBox控制項中的數據進行排序 231
11.7 小結 232
11.8 學習成果檢驗 232
第12章 Windows應用程式高級控制項 233
視頻講解:125分鐘
12.1 存儲圖像控制項(ImageList控制項) 234
12.1.1 在ImageList控制項中添加圖像 234
12.1.2 在ImageList控制項中移除圖像 234
12.2 列表視圖控制項(ListView控制項) 235
12.2.1 在ListView控制項中添加/移除項 236
12.2.2 選擇ListView控制項中的項 237
12.2.3 為ListView控制項中的項添加圖示 238
12.2.4 在ListView控制項中啟用平鋪視圖 238
12.2.5 為ListView控制項中的項分組 239
12.3 樹控制項(TreeView控制項) 241
12.3.1 添加和刪除樹節點 241
12.3.2 獲取樹控制項中選中的節點 242
12.3.3 為樹控制項中的節點設定圖示 243
12.4 日期控制項(DateTimePicker控制項) 244
12.4.1 使用DateTimePicker控制項顯示時間 244
12.4.2 使用DateTimePicker控制項以自定義格式
顯示日期 244
12.4.3 返回DateTimePicker控制項中選擇的
日期 245
12.5 月曆控制項(MonthCalendar控制項) 246
12.5.1 更改MonthCalendar控制項的外觀 246
12.5.2 在MonthCalendar控制項中顯示多個
月份 247
12.5.3 在MonthCalendar控制項中以粗體顯示
特定日期 247
12.5.4 在MonthCalendar控制項中選擇日期
範圍 248
12.6 其他高級控制項 249
12.6.1 使用ErrorProvider控制項驗證文本框
輸入 249
12.6.2 使用HelpProvider控制項調用幫助檔案 250
12.6.3 使用Timer控制項設定時間間隔 251
12.6.4 使用ProgressBar控制項顯示程式運行進
度條 252
12.7 實戰 252
12.7.1 設計一個電子萬年曆 252
12.7.2 製作一個鬧鐘計時器 254
12.7.3 在模式視窗中顯示進度條 257
12.7.4 使用TreeView控制項遍歷磁碟目錄 259
12.7.5 用樹型列表動態顯示選單 260
12.8 小結 261
12.9 學習成果檢驗 261
第13章 對話框、選單、工具列及狀態欄
控制項 262
視頻講解:48分鐘
13.1 對話框控制項 263
13.1.1 對話框概述 263
13.1.2 打開對話框控制項 263
13.1.3 另外儲存為對話框控制項 263
13.1.4 瀏覽資料夾對話框控制項 264
13.1.5 顏色對話框控制項 265
13.1.6 字型對話框控制項 265
13.2 選單、工具列和狀態欄控制項 266
13.2.1 選單控制項(MenuStrip控制項) 266
13.2.2 工具列控制項(ToolStrip控制項) 266
13.2.3 狀態欄控制項(StatusStrip控制項) 267
13.3 實戰 268
13.3.1 製作帶歷史信息的選單 268
13.3.2 製作仿XP系統的系統列選單 269
13.3.3 具有提示功能的工具列 271
13.3.4 級聯選單的動態合併 271
13.3.5 在狀態欄中顯示當前系統操作員 272
13.4 小結 272
13.5 學習成果檢驗 272
第14章 綜合實驗(二)--QQ自動
登錄器模組 273
視頻講解:62分鐘
14.1 QQ自動登錄器概述 274
14.1.1 QQ自動登錄器流程 274
14.1.2 主窗體流程 274
14.1.3 添加QQ賬號流程 274
14.1.4 路徑設定流程 275
14.1.5 程式預覽 275
14.2 資料庫設計 275
14.3 關鍵技術 276
14.3.1 QQ自動登錄器的實現原理 276
14.3.2 使用MD5加密算法加密QQ密碼 276
14.3.3 使用XML檔案存儲QQ賬號信息 277
14.3.4 使用XmlElement類序列化QQ賬號
屬性 278
14.3.5 通過XML檔案讀取和寫入QQ賬號
信息 279
14.3.6 使用註冊表存儲信息 281
14.4 主窗體 281
14.4.1 主窗體功能概述 281
14.4.2 主窗體界面設計 281
14.4.3 初始化QQ列表 282
14.4.4 啟動多個QQ賬號 283
14.4.5 啟動QQ程式 284
14.4.6 增加QQ賬號信息 285
14.4.7 修改QQ賬號信息 285
14.4.8 刪除QQ賬號 286
14.4.9 設定QQ賬號為隱身 286
14.5 添加QQ賬號 287
14.5.1 添加QQ賬號功能概述 287
14.5.2 添加QQ賬號界面設計 287
14.5.3 添加QQ賬號 287
14.6 路徑設定 289
14.6.1 路徑設定功能概述 289
14.6.2 路徑設定界面設計 289
14.6.3 顯示原有路徑設定 289
14.6.4 選擇QQ程式路徑 290
14.6.5 保存路徑設定 290
14.7 小結 291
14.8 學習成果檢驗 291
第3篇 中 級 開 發
第15章 資料庫編程基礎 294
視頻講解:56分鐘
15.1 資料庫基礎 295
15.1.1 資料庫簡介 295
15.1.2 安裝SQL Server 2000資料庫 295
15.1.3 安裝SQL Server 2005資料庫 297
15.1.4 安裝SQL Server 2008資料庫 299
15.1.5 資料庫的創建及刪除 304
15.1.6 數據表的創建及刪除 304
15.2 SQL語言基礎 306
15.2.1 SQL語言簡介 306
15.2.2 簡單SQL語句的套用 306
15.3 實戰 311
15.3.1 使用INSERT SELECT語句批量
插入數據 311
15.3.2 從一個表中向另一個表中複製行 311
15.3.3 統計某個值出現的次數 312
15.3.4 對多列的求和運算 313
15.3.5 通過CASE語句生成靜態交叉表 314
15.4 小結 314
15.5 學習成果檢驗 314
第16章 ADO.NET數據訪問技術 315
視頻講解:90分鐘
16.1 ADO.NET概述 316
16.2 使用Connection對象連線資料庫 316
16.2.1 Connection對象概述 316
16.2.2 連線資料庫 316
16.2.3 關閉連線 317
16.3 使用Command對象執行SQL
語句 319
16.3.1 Command對象概述 319
16.3.2 設定數據源類型 319
16.3.3 執行SQL語句 320
16.4 使用DataReader對象讀取數據 322
16.4.1 DataReader對象概述 322
16.4.2 判斷查詢結果中是否有值 323
16.4.3 讀取數據 324
16.5 數據適配器:DataAdapter對象 324
16.5.1 DataAdapter對象概述 324
16.5.2 填充DataSet數據集 325
16.5.3 更新數據源 325
16.6 數據集:DataSet對象 327
16.6.1 DataSet對象概述 327
16.6.2 合併DataSet內容 327
16.6.3 複製DataSet內容 328
16.7 實戰 329
16.7.1 使用二進制存儲用戶頭像 329
16.7.2 使用存儲過程實現員工自動編號 332
16.7.3 使用交叉表統計商品銷售信息 333
16.7.4 向SQL Server資料庫中批量寫入海量
數據 336
16.7.5 使用斷開式連線批量更新資料庫中的
數據 337
16.7.6 綜合查詢職工詳細信息 337
16.8 小結 340
16.9 學習成果檢驗 340
第17章 DataGridView數據控制項 341
視頻講解:52分鐘
17.1 DataGridView控制項概述 342
17.2 在DataGridView控制項中顯示數據 342
17.3 獲取DataGridView控制項中的當前
單元格 343
17.4 在DataGridView控制項中修改數據 344
17.5 選中DataGridView控制項中的行時
顯示不同顏色 345
17.6 禁止在DataGridView控制項中添加和
刪除行 347
17.7 禁用DataGridView控制項的自動排序
功能 347
17.8 合併DataGridView控制項中的單
元格 348
17.9 實戰 350
17.9.1 將DataGridView中的數據導出到
Word 350
17.9.2 將DataGridView中的數據導出到
Excel 351
17.9.3 在DataGridView控制項中驗證數據
輸入 352
17.9.4 在DataGridView控制項中添加"合計"和
"平均值" 353
17.9.5 通過DataGridView分頁查看用戶信息 354
17.10 小結 356
17.11 學習成果檢驗 356
第18章 面向對象編程高級技術 357
視頻講解:48分鐘
18.1 接口的聲明及實現 358
18.1.1 接口概述 358
18.1.2 接口的聲明 358
18.1.3 接口的實現與繼承 359
18.1.4 顯式接口成員實現 360
18.2 抽象類的聲明及使用 362
18.2.1 抽象類概述 362
18.2.2 抽象類的聲明 362
18.2.3 抽象方法的聲明 362
18.2.4 抽象類的使用 363
18.2.5 抽象類與接口 364
18.3 密封類的聲明及使用 364
18.3.1 密封類概述 364
18.3.2 密封類的聲明 365
18.3.3 密封方法的聲明 365
18.3.4 密封類的使用 366
18.4 實戰 367
18.4.1 使用多重繼承實現教師和學生信息的
輸出 367
18.4.2 對用戶信息進行密封 369
18.4.3 自定義抽象類計算圓形的面積 371
18.4.4 利用接口實現選擇不同的語言 371
18.4.5 使用接口作為方法參數進行編程 372
18.4.6 通過重寫虛方法實現加法運算 373
18.5 小結 373
18.6 學習成果檢驗 373
第19章 枚舉類型與泛型 374
視頻講解:30分鐘
19.1 枚舉類型 375
19.1.1 枚舉類型概述 375
19.1.2 枚舉類型的聲明 375
19.1.3 枚舉類型基類--Enum類 376
19.1.4 枚舉類型的使用 377
19.2 泛型及其使用 378
19.2.1 泛型概述 378
19.2.2 類型參數T 378
19.2.3 泛型接口的聲明及使用 379
19.2.4 泛型方法的聲明及使用 379
19.3 實戰 380
19.3.1 使用枚舉判斷用戶操作許可權 380
19.3.2 使用泛型去掉數組中的重複數字 381
19.3.3 使用疊代器顯示公車站點 383
19.3.4 使用分部類實現多種計算方法 383
19.3.5 通過繼承泛型類實現輸出學生信息 384
19.4 小結 385
19.5 學習成果檢驗 385
第20章 LINQ技術的使用 386
視頻講解:76分鐘
20.1 LINQ基礎 387
20.1.1 LINQ概述 387
20.1.2 使用var創建隱型局部變數 387
20.1.3 Lambda表達式的使用 388
20.1.4 LINQ查詢表達式 389
20.2 LINQ操作SQL Server資料庫 390
20.2.1 使用LINQ查詢SQL Server資料庫 390
20.2.2 使用LINQ管理SQL Server資料庫 393
20.3 LINQ操作其他數據 398
20.3.1 使用LINQ運算元組和集合 398
20.3.2 使用LINQ操作DataSet數據集 399
20.3.3 使用LINQ操作XML 400
20.4 實戰 403
20.4.1 使用LINQ技術獲取檔案詳細信息 403
20.4.2 使用LINQ技術分類查詢公司員工
薪水 405
20.4.3 使用存儲過程查詢單表數據 406
20.4.4 使用LINQ技術防止SQL注入式攻擊 407
20.4.5 使用LINQ技術實現數據分頁 407
20.4.6 從頭開始提取滿足指定條件的記錄 409
20.4.7 讀取XML檔案並更新到資料庫 409
20.5 小結 411
20.6 學習成果檢驗 411
第21章 綜合實驗(三)--SQL數據表
提取器模組 412
視頻講解:54分鐘
21.1 SQL數據表提取器概述 413
21.1.1 附加本地資料庫流程 413
21.1.2 提取表結構流程 413
21.1.3 導出數據流程 413
21.1.4 程式預覽 414
21.2 關鍵技術 415
21.2.1 添加COM組件 415
21.2.2 附加SQL Server資料庫 415
21.2.3 分離SQL Server資料庫 416
21.2.4 設定SQL Server資料庫模式 416
21.3 主窗體 418
21.3.1 主窗體功能概述 418
21.3.2 主窗體界面設計 418
21.3.3 檢索網路中的伺服器 419
21.3.4 獲取資料庫的名稱 419
21.3.5 選擇提取信息 421
21.4 附加本地資料庫 422
21.4.1 附加本地資料庫功能概述 422
21.4.2 附加本地資料庫界面設計 422
21.4.3 瀏覽附加檔案路徑 423
21.4.4 實現資料庫附加 423
21.5 提取表結構 424
21.5.1 提取表結構功能概述 424
21.5.2 "提取表結構"界面設計 424
21.5.3 獲取表結構信息 425
21.5.4 導出到Excel 425
21.5.5 導出到Word 426
21.6 導出數據 427
21.6.1 導出數據功能概述 427
21.6.2 "導出數據"界面設計 428
21.6.3 獲取數據信息 428
21.6.4 數據的導出 429
21.7 小結 431
21.8 學習成果檢驗 431
第4篇 高 級 應 用
第22章 檔案及I/O 434
視頻講解:112分鐘
22.1 檔案操作基礎 435
22.1.1 File類和FileInfo類介紹 435
22.1.2 Directory類和DirectoryInfo類介紹 438
22.2 檔案基本操作 440
22.2.1 判斷檔案是否存在 440
22.2.2 創建檔案 441
22.2.3 複製檔案 442
22.2.4 移動檔案 442
22.2.5 刪除檔案 443
22.2.6 獲取檔案基本信息 443
22.3 資料夾基本操作 444
22.3.1 判斷資料夾是否存在 444
22.3.2 創建資料夾 445
22.3.3 移動資料夾 445
22.3.4 刪除資料夾 446
22.3.5 遍歷資料夾 446
22.4 I/O(輸入/輸出) 448
22.4.1 流概述 448
22.4.2 檔案I/O流介紹 449
22.4.3 使用I/O流操作文本檔案 450
22.4.4 使用I/O流操作二進制檔案 452
22.5 實戰 454
22.5.1 檔案批量重命名的實現 454
22.5.2 製作一個分割與合併檔案工具 457
22.5.3 根據日期動態建立檔案 460
22.5.4 複製檔案時顯示複製進度 460
22.5.5 偽裝資料夾 462
22.5.6 對指定資料夾中的檔案進行分類存儲 463
22.6 小結 464
22.7 學習成果檢驗 464
第23章 GDI+繪圖及列印技術 465
視頻講解:70分鐘
23.1 GDI+繪圖基礎 466
23.1.1 GDI+概述 466
23.1.2 創建Graphics對象 466
23.1.3 創建Pen對象 467
23.1.4 創建Brush對象 467
23.2 基本圖形繪製 469
23.2.1 繪製直線和矩形 469
23.2.2 繪製橢圓、圓弧和扇形 470
23.2.3 繪製多邊形 472
23.2.4 繪製文本 472
23.2.5 繪製圖形 473
23.3 Windows列印組件的使用 473
23.3.1 使用PageSetupDialog組件設定列印
文檔信息 473
23.3.2 使用PrintDialog組件顯示列印對
話框 474
23.3.3 使用PrintDocument組件設定列印
文檔 475
23.3.4 使用PrintPreviewControl組件設定列印
預覽文檔 476
23.3.5 使用PrintPreviewDialog組件顯示列印
預覽 477
23.4 實戰 477
23.4.1 套用GDI+技術實現圖像的水印效果 477
23.4.2 套用GDI+技術實現批量圖像格式
轉換 480
23.4.3 抓取網站整頁面 484
23.4.4 打造自己的開心農場 487
23.4.5 使用列印組件列印商品入庫單信息 489
23.5 小結 491
23.6 學習成果檢驗 491
第24章 網路編程 492
視頻講解:110分鐘
24.1 計算機網路基礎 493
24.1.1 區域網路與網際網路介紹 493
24.1.2 網路協定介紹 493
24.1.3 連線埠及套接字介紹 495
24.2 網路編程基礎 496
24.2.1 System.Net命名空間及相關類的
使用 496
24.2.2 System.Net.Sockets命名空間及相關類
的使用 501
24.2.3 System.Net.Mail命名空間及相關類的
使用 506
24.3 實戰 509
24.3.1 創建Web頁面瀏覽器 509
24.3.2 設計點對點聊天程式 510
24.3.3 電子郵件的傳送與接收 512
24.3.4 獲取網路信息及流量 516
24.3.5 遠程關閉與重啟計算機 517
24.4 小結 518
24.5 學習成果檢驗 518
第25章 執行緒的使用 519
視頻講解:84分鐘
25.1 執行緒概述 520
25.1.1 執行緒的定義與分類 520
25.1.2 多執行緒的使用 521
25.1.3 執行緒的生命周期 521
25.2 C#中的執行緒類Thread 522
25.3 執行緒調度 524
25.3.1 創建執行緒 524
25.3.2 執行緒的掛起與恢復 525
25.3.3 執行緒休眠 526
25.3.4 終止執行緒 526
25.3.5 執行緒的優先權 527
25.4 執行緒同步 529
25.4.1 執行緒同步機制 529
25.4.2 使用lock關鍵字實現執行緒同步 529
25.4.3 使用Monitor驅動對象實現執行緒同步 530
25.4.4 使用Mutex類實現執行緒同步 531
25.5 實戰 532
25.5.1 使用多執行緒製作連線埠掃描工具 532
25.5.2 使用執行緒控制向窗體中拖放圖片並
顯示 535
25.5.3 使用執行緒掃描區域網路IP位址 538
25.5.4 使用執行緒製作小遊戲 539
25.5.5 有進度條的檔案異步複製功能 540
25.6 小結 542
25.7 學習成果檢驗 542
第26章 異常處理與程式調試 543
視頻講解:36分鐘
26.1 異常處理與程式調試概述 544
26.2 異常處理語句的使用 544
26.2.1 使用throw語句拋出異常 544
26.2.2 使用try...catch語句捕捉異常 545
26.2.3 使用try...catch...finally語句捕捉異常 546
26.3 常用的程式調試操作 547
26.3.1 斷點操作 547
26.3.2 開始、中斷和停止程式的執行 548
26.3.3 單步執行 549
26.3.4 運行到指定位置 550
26.4 實戰 550
26.4.1 使用異常處理語句捕獲資料庫連線
異常 550
26.4.2 通過插入斷點查看局部變數的值 551
26.5 小結 552
26.6 學習成果檢驗 552
第27章 Windows應用程式打包部署 553
視頻講解:20分鐘
27.1 Windows Installer介紹 554
27.2 創建Windows安裝項目 554
27.3 製作Windows安裝程式 555
27.3.1 添加項目輸出 555
27.3.2 添加內容檔案 555
27.3.3 創建桌面捷徑 556
27.3.4 添加註冊表項 556
27.3.5 生成Windows安裝程式 557
27.4 部署Windows應用程式 558
27.5 實戰 559
27.5.1 為Windows安裝程式添加程式組 559
27.5.2 使用"發布"部署Windows套用
程式 560
27.6 小結 561
27.7 學習成果檢驗 561
第28章 綜合實驗(四)--FTP檔案
管理模組 562
視頻講解:60分鐘
28.1 FTP檔案管理模組概述 563
28.1.1 FTP登錄流程 563
28.1.2 本機檔案操作流程 563
28.1.3 伺服器檔案上傳/下載流程 563
28.1.4 程式預覽 564
28.2 關鍵技術 564
28.2.1 架設FTP伺服器 564
28.2.2 登錄FTP伺服器 566
28.2.3 獲取伺服器上檔案的大小 567
28.2.4 向FTP伺服器傳送命令 568
28.2.5 調用系統API 569
28.3 主窗體設計 569
28.3.1 主窗體功能概述 569
28.3.2 主窗體界面設計 570
28.4 FTP登錄 570
28.4.1 FTP登錄功能概述 570
28.4.2 登錄FTP伺服器 571
28.5 本機檔案操作 573
28.5.1 本機檔案操作功能概述 573
28.5.2 獲取本地磁碟 573
28.5.3 獲取指定磁碟中的檔案 574
28.5.4 批量上傳檔案 575
28.6 伺服器檔案上傳/下載 579
28.6.1 伺服器檔案上傳/下載功能概述 579
28.6.2 獲取FTP伺服器中的所有檔案 579
28.6.3 批量下載檔案 581
28.6.4 刪除FTP中的檔案或資料夾 584
28.7 小結 586
28.8 學習成果檢驗 586
第5篇 項 目 實 戰
第29章 進銷存管理系統 588
視頻講解:100分鐘
29.1 需求分析 589
29.2 系統設計 589
29.2.1 系統目標 589
29.2.2 系統功能結構 589
29.2.3 系統業務流程圖 589
29.2.4 檔案組織結構 589
29.3 系統運行環境 590
29.4 資料庫與數據表設計 590
29.4.1 資料庫分析 590
29.4.2 數據表設計 591
29.4.3 數據表邏輯關係 592
29.5 公共類設計 593
29.5.1 DataBase公共類 593
29.5.2 BaseInfo公共類 596
29.6 登錄模組設計 600
29.6.1 登錄模組概述 600
29.6.2 登錄模組實現原理 600
29.6.3 登錄模組實現過程 600
29.7 系統主窗體設計 601
29.7.1 系統主窗體概述 601
29.7.2 使用MenuStrip控制項設計選單欄 602
29.7.3 系統主窗體實現過程 602
29.8 庫存商品管理模組設計 603
29.8.1 庫存商品管理模組概述 603
29.8.2 自動生成庫存商品編號 603
29.8.3 庫存商品管理模組實現過程 603
29.9 進貨管理模組設計 607
29.9.1 進貨管理模組概述 607
29.9.2 向進貨單中批量添加商品 607
29.9.3 進貨管理模組實現過程 608
29.10 商品銷售排行模組設計 612
29.10.1 商品銷售排行模組概述 612
29.10.2 使用BETWEEN...AND關鍵字查詢
數據 612
29.10.3 商品銷售排行模組實現過程 612
29.11 庫存檔點模組設計 614
29.11.1 庫存檔點模組概述 614
29.11.2 隔離驅動模式的使用 614
29.11.3 庫存檔點模組實現過程 614
29.12 系統打包部署 616
29.13 小結 618
第30章 企業人事管理系統 619
視頻講解:130分鐘
30.1 系統分析 620
30.1.1 需求分析 620
30.1.2 可行性分析 620
30.1.3 編寫項目計畫書 621
30.2 系統設計 622
30.2.1 系統目標 622
30.2.2 系統功能結構 623
30.2.3 系統業務流程圖 623
30.2.4 系統編碼規範 624
30.3 系統運行環境 624
30.4 資料庫與數據表設計 624
30.4.1 資料庫分析 624
30.4.2 數據表設計 625
30.4.3 數據表邏輯關係 626
30.5 公共類設計 627
30.5.1 MyMeans公共類 628
30.5.2 MyModule公共類 629
30.6 登錄模組設計 640
30.6.1 設計登錄窗體 641
30.6.2 按Enter鍵時移動滑鼠焦點 641
30.6.3 登錄功能的實現 641
30.7 系統主窗體設計 642
30.7.1 設計選單欄 642
30.7.2 設計工具列 643
30.7.3 設計導航選單 644
30.7.4 設計狀態欄 644
30.8 人事檔案管理模組設計 645
30.8.1 設計"人事檔案管理"窗體 646
30.8.2 添加/修改人事檔案信息 647
30.8.3 刪除人事檔案信息 649
30.8.4 單條件查詢人事檔案信息 649
30.8.5 逐條查看人事檔案信息 651
30.8.6 將人事檔案信息導出為Word
文檔 653
30.9 人事資料查詢模組設計 657
30.9.1 設計"人事資料查詢"窗體 657
30.9.2 多條件查詢人事資料 658
30.10 通訊錄模組設計 659
30.10.1 設計"通訊錄"窗體 659
30.10.2 添加/修改通訊錄信息 659
30.10.3 刪除通訊錄信息 661
30.10.4 查詢通訊錄信息 661
30.11 用戶設定模組設計 662
30.11.1 設計"用戶設定"窗體 662
30.11.2 添加/修改用戶信息 663
30.11.3 刪除用戶基本信息 664
30.11.4 設定用戶操作許可權 665
30.12 開發中常見問題與解決 665
30.12.1 程式無法運行 665
30.12.2 無法添加職工基本信息 665
30.12.3 選擇職工頭像時出現異常 666
30.12.4 出現Word引用問題 667
30.12.5 COM選項卡中沒有Word 9.0
引用 667
30.13 小結 667
附錄A 選單欄命令 668
附錄B C#程式編碼規範 671
B.1 命名規則 671
B.1.1 數據類型簡寫規則 671
B.1.2 變數及對象名稱命名規則 671
B.1.3 類命名規則 671
B.1.4 屬性命名規則 672
B.1.5 方法命名規則 672
B.1.6 接口命名規則 672
B.1.7 控制項命名規則 672
B.2 代碼版式 673
B.2.1 統一代碼縮進 673
B.2.2 合理使用空行 673
B.2.3 代碼換行 673
B.2.4 空格的使用 673
B.3 代碼注釋 674
B.3.1 注釋的目的 674
B.3.2 代碼注釋規範 674
B.4 資料庫編程命名規範 674
B.4.1 資料庫命名規範 674
B.4.2 數據表命名規範 675
B.4.3 欄位命名規範 675
B.4.4 視圖命名規範 675
B.4.5 存儲過程命名規範 675
B.4.6 觸發器命名規範 676