內容簡介
本書是側重編程基礎 實踐的C#程式開發圖書,為了保證讀者可以學以致用,在實踐方面循序漸進地進行了3個層次的講解:基礎知識實踐、進階案例實踐和綜合套用實踐。本書全面介紹了使用C#進行窗體程式開發的知識,以幫助讀者快速掌握C#開發的技能,拓寬職場的道路。本書通過各種示例將學習與套用相結合,打造輕鬆學習、零壓力學習的環境,通過案例對所學知識進行綜合套用,通過開發實際項目將C#開發的各項技能套用到實際工作中。
圖書目錄
第1篇 基礎篇
第1章 C#開發準備
1.1 C#語言入門 3
1.1.1 C#是什麼 3
1.1.2 認識.NET Framework 3
1.1.3 C#與.NET Framework 4
1.1.4 C#的套用領域 4
1.2 Visual Studio 2019的安裝與卸載 4
1.2.1 安裝Visual Studio 2019條件 4
1.2.2 下載Visual Studio 2019 4
1.2.3 安裝Visual Studio 2019 5
1.3 熟悉Visual Studio 2019開發環境 6
1.3.1 創建個C#程式 6
1.3.2 選單欄 7
1.3.3 工具列 7
1.3.4 解決方案資源管理器 8
1.3.5 “工具箱”視窗 8
1.3.6 “屬性”視窗 9
1.3.7 “錯誤列表”視窗 9
1.4 C#程式結構預覽 10
1.4.1 命名空間 10
1.4.2 類 11
1.4.3 關鍵字與標識符 11
1.4.4 Main方法 12
1.4.5 C#語句 13
1.4.6 注釋 15
1.4.7 一個完整的C#程式 16
【實例1.1】輸出名人名言 16
1.5 綜合案例——列印美團外賣單據 17
1.5.1 案例描述 17
1.5.2 實現代碼 17
1.6 實戰練習 18
第2章 C#語言基礎
2.1 數據類型及變數 20
2.1.1 變數是什麼 20
2.1.2 變數的聲明和命名規則 20
2.1.3 簡單數據類型 21
2.1.4 變數的初始化 24
2.1.5 變數的作用域 25
【實例2.1】使用變數記錄用戶登錄名 25
2.2 引用類型和值類型與引用類型的區別 26
2.2.1 引用類型 26
2.2.2 值類型與引用類型的區別 27
2.3 常量 27
2.3.1 常量是什麼 27
2.3.2 常量的分類 27
2.4 數據類型轉換 28
2.4.1 隱式類型轉換 28
2.4.2 顯式類型轉換 29
2.4.3 使用Convert類進行轉換 29
2.4.4 裝箱和拆箱 30
2.5 運算符 31
2.5.1 算術運算符 31
2.5.2 自增自減運算符 31
2.5.3 賦值運算符 32
2.5.4 關係運算符 34
【實例2.2】使用關係運算符比較大小關係 34
2.5.5 邏輯運算符 34
2.5.6 位運算符 35
2.5.7 移位運算符 36
2.5.8 條件運算符 37
2.5.9 運算符優先權與結合性 38
2.6 綜合案例——記錄你的密碼 39
2.6.1 案例描述 39
2.6.2 實現代碼 39
2.7 實戰練習 40
第3章 流程控制
3.1 選擇語句 42
3.1.1 if語句 42
【實例3.1】根據輸入年齡輸出相應信息提示 45
【實例3.2】判斷輸入的年份是不是閏年 47
3.1.2 switch語句 48
【實例3.3】查詢高考錄取分數線 49
3.2 循環語句 49
3.2.1 while語句 50
【實例3.4】計算1到100的累加和 50
3.2.2 do…while語句 50
3.2.3 for語句 51
3.2.4 foreach語句 53
3.3 跳轉語句 54
3.3.1 break語句 54
【實例3.5】使用break跳出循環 54
3.3.2 continue語句 55
【實例3.6】使用continue語句實現1到100之間的偶數和 55
3.3.3 goto語句 55
3.3.4 return語句 56
【實例3.7】使用return設定返回值 56
3.4 綜合案例——猜數字遊戲 56
3.4.1 案例描述 56
3.4.2 實現代碼 56
3.5 實戰練習 57
第4章 字元與字元串
4.1 字元 59
4.1.1 Char類的使用 59
【實例4.1】字元類Char的常用方法套用 60
4.1.2 轉義字元 60
【實例4.2】輸出Windows系統目錄 61
4.2 字元串 61
4.2.1 聲明字元串 61
4.2.2 字元串的初始化 62
4.2.3 獲取字元串長度 63
4.2.4 獲取指定位置的字元 63
4.2.5 獲取子字元串索引位置 64
4.2.6 判斷字元串首尾內容 65
4.2.7 字元串的拼接 66
4.2.8 比較字元串 66
4.2.9 字元串的大小寫轉換 67
4.2.10 格式化字元串 67
【實例4.3】格式化不同的數值類型數據 69
【實例4.4】輸出不同形式的日期時間 70
4.2.11 截取字元串 70
4.2.12 分隔字元串 71
4.2.13 填充字元串 71
【實例4.5】對字元串進行填充 72
4.2.14 去除空白內容 72
4.2.15 替換字元串 73
4.3 可變字元串 73
4.3.1 StringBuilder類的定義 74
4.3.2 StringBuilder類的使用 74
【實例4.6】StringBuilder類方法的使用 75
4.3.3 StringBuilder類與String類的區別 75
4.4 綜合案例——模擬郵件傳送 76
4.4.1 案例描述 76
4.4.2 實現代碼 76
4.5 實戰練習 77
第5章 數組與集合
5.1 數組概述 79
5.2 一維數組的聲明和使用 79
5.2.1 一維數組的聲明 79
5.2.2 一維數組的使用 80
【實例5.1】遍歷一維數組中的所有元素 80
5.3 二維數組的聲明和使用 81
5.3.1 二維數組的聲明 81
5.3.2 二維數組的使用 81
【實例5.2】輸出二維數組的所有元素 81
5.3.3 不規則數組的定義 82
5.4 數組的基本操作 82
5.4.1 遍歷數組中的元素 82
5.4.2 使用排序算法對數組進行排序 83
【實例5.3】冒泡排序法 83
【實例5.4】選擇排序法 84
5.5 ArrayList集合的使用 85
5.5.1 ArrayList集合概述 85
5.5.2 添加ArrayList集合元素 86
5.5.3 刪除ArrayList集合元素 87
5.5.4 遍歷ArrayList集合 88
【實例5.5】使用集合存儲數據 88
5.5.5 查找ArrayList集合元素 89
5.6 綜合案例——模擬淘寶購物車場景 90
5.6.1 案例描述 90
5.6.2 實現代碼 90
5.7 實戰練習 90
第6章 面向對象編程基礎
6.1 面向對象概念 92
6.1.1 對象、類、實例化 92
6.1.2 面向對象程式設計語言的三大原則 93
6.2 類 95
6.2.1 類的概念 95
6.2.2 類的聲明 95
6.2.3 類的成員 96
【實例6.1】用set訪問器對年齡進行判斷 98
6.2.4 構造函式和析構函式 98
【實例6.2】構造函式的使用 98
6.2.5 對象的創建及使用 99
【實例6.3】使用對象調用類成員 100
6.2.6 this關鍵字 102
6.2.7 類與對象的關係 103
6.3 方法 103
6.3.1 方法的聲明 103
6.3.2 方法的參數 104
【實例6.4】值參數的使用 104
【實例6.5】ref引用參數的使用 105
【實例6.6】out參數的使用 105
【實例6.7】使用params向方法參數傳遞多個值 106
6.3.3 靜態方法與實例方法 106
【實例6.8】使用類名調用靜態方法 107
【實例6.9】實例方法的調用 107
6.3.4 方法的重載 108
【實例6.10】使用重載方法計算不同類型數據的和 108
6.4 綜合案例——輸出庫存商品信息 108
6.4.1 案例描述 108
6.4.2 實現代碼 109
6.5 實戰練習 110
第7章 面向對象核心技術
7.1 類的繼承與多態 112
7.1.1 繼承 112
【實例7.1】模擬進銷存管理系統的進貨信息並輸出 112
7.1.2 多態 114
【實例7.2】不同交通工具的形態 114
【實例7.3】重寫抽象方法輸出進貨信息和銷售信息 116
7.2 結構與接口 117
7.2.1 結構 117
7.2.2 接口 118
【實例7.4】通過繼承接口輸出進貨信息和銷售信息 119
7.3 索引器 121
【實例7.5】定義操作字元串數組的索引器 121
7.4 委託和匿名方法 122
7.4.1 委託 122
【實例7.6】自定義委託並使用 122
7.4.2 匿名方法 123
【實例7.7】分別調用匿名方法和命名方法 123
7.5 事件 124
7.5.1 委託的發布和訂閱 124
【實例7.8】通過委託使學生們對鈴聲作出回響 124
7.5.2 事件的發布和訂閱 126
7.5.3 EventHandler類 127
7.6 泛型 128
7.6.1 類型參數T 128
7.6.2 泛型接口 129
7.6.3 泛型方法 129
【實例7.9】通過泛型方法計算商品銷售額 129
7.7 綜合案例——輸出進銷存管理系統中的每月銷售明細 130
7.7.1 案例描述 130
7.7.2 實現代碼 130
7.8 實戰練習 132
第8章 Windows編程基礎
8.1 Form窗體 134
8.1.1 添加和刪除窗體 134
8.1.2 多窗體的使用 134
8.1.3 窗體的屬性 135
8.1.4 窗體的顯示與隱藏 137
8.1.5 窗體的事件 137
8.2 MDI窗體 139
8.2.1 MDI窗體的概念 139
8.2.2 如何設定MDI窗體 139
8.2.3 排列MDI子窗體 140
8.3 綜合案例——自定義化、小化和關閉按鈕 140
8.3.1 案例描述 140
8.3.2 實現代碼 140
8.4 實戰練習 141
第9章 Windows控制項的使用
9.1 控制項基礎 143
9.1.1 控制項概述 143
9.1.2 控制項的相關操作 143
9.2 文本類控制項 144
9.2.1 Label:標籤 144
9.2.2 TextBox:文本框 144
9.2.3 RichTextBox:有格式文本框 145
9.3 按鈕類控制項 147
9.3.1 Button:按鈕 147
9.3.2 RadioButton:單選按鈕 147
【實例9.1】選擇用戶登錄身份 147
9.3.3 CheckBox:複選框 148
【實例9.2】設定用戶操作許可權 148
9.4 列表類控制項 149
9.4.1 ComboBox:下拉組合框 149
【實例9.3】選擇員工的職位 149
9.4.2 NumericUpDown:數值選擇 150
9.4.3 ListBox:列表 150
9.4.4 ListView控制項:列表視圖 151
9.5 圖片類控制項 154
9.5.1 PictureBox:圖片 154
9.5.2 ImageList:圖片列表 154
9.6 容器控制項 155
9.6.1 GroupBox:分組框 155
9.6.2 Panel:容器 155
9.6.3 TabControl:選項卡 156
9.7 TreeView:樹控制項 157
9.8 Timer:定時器 158
【實例9.4】模擬雙色球選號 158
9.9 ProgressBar:進度條 159
9.10 選單、工具列和狀態欄 160
9.10.1 MenuStrip:選單 160
9.10.2 ToolStrip:工具列 160
9.10.3 StatusStrip:狀態欄 161
【實例9.5】在狀態欄中顯示登錄用戶及時間 161
9.11 訊息框 162
9.12 對話框 163
9.12.1 打開對話框 163
9.12.2 另外儲存為對話框 163
9.12.3 瀏覽資料夾對話框 164
9.13 綜合案例——在控制項中實現關鍵字描紅 164
9.13.1 案例描述 164
9.13.2 實現代碼 165
9.14 實戰練習 166
第10章 ADO.NET數據訪問技術
10.1 ADO.NET概述 168
10.1.1 ADO.NET對象模型 168
10.1.2 數據訪問命名空間 168
10.2 Connection數據連線對象 169
10.2.1 熟悉Connection對象 169
10.2.2 資料庫連線字元串 169
10.2.3 套用SqlConnection對象連線資料庫 170
10.3 Command命令執行對象 171
10.3.1 熟悉Command對象 171
10.3.2 套用Command對象運算元據 172
10.3.3 套用Command對象調用存儲過程 172
【實例10.1】使用存儲過程向數據表中添加信息 172
10.4 DataReader數據讀取對象 173
10.4.1 DataReader對象概述 173
10.4.2 使用DataReader對象檢索數據 174
10.5 DataSet對象和DataAdapter操作對象 175
10.5.1 DataSet對象 175
10.5.2 DataAdapter對象 175
10.5.3 填充DataSet數據集 177
10.5.4 DataSet對象與DataReader對象的區別 177
10.6 DataGridView控制項的使用 177
【實例10.2】DataGridView表格的使用 178
10.7 綜合案例——分頁顯示信息 179
10.7.1 案例描述 179
10.7.2 實現代碼 179
10.8 實戰練習 180
第11章 LINQ編程
11.1 LINQ基礎 182
11.1.1 LINQ概述 182
11.1.2 LINQ查詢 182
【實例11.1】使用LINQ查詢數組中指定長度的項 183
11.1.3 使用var創建隱型局部變數 183
11.1.4 Lambda表達式的使用 183
【實例11.2】查找數組中包含指定字元的字元串 184
11.2 LINQ查詢表達式 185
11.2.1 獲取數據源 185
11.2.2 篩選 185
11.2.3 排序 185
11.2.4 分組 186
11.2.5 連線 186
11.3 LINQ操作SQL Server資料庫 186
11.3.1 使用LINQ查詢SQL Server資料庫 186
【實例11.3】多條件查詢商品信息 187
11.3.2 使用LINQ更新SQL Server資料庫 188
【實例11.4】添加庫存商品信息 189
【實例11.5】修改庫存商品信息 190
【實例11.6】刪除庫存商品信息 191
11.4 綜合案例——分頁查看庫存商品信息 191
11.4.1 案例描述 191
11.4.2 實現代碼 192
11.5 實戰練習 193
第12章 檔案流
12.1 System.IO命名空間 195
12.2 檔案與目錄類 196
12.2.1 File和FileInfo檔案類 196
【實例12.1】使用File類創建檔案並獲取檔案的詳細信息 197
12.2.2 Directory和DirectoryInfo目錄類 197
【實例12.2】遍歷驅動器中的檔案及資料夾 198
12.2.3 Path路徑類 199
12.2.4 DriveInfo驅動器類 200
12.3 數據流基礎 201
12.3.1 流操作類介紹 201
12.3.2 檔案流 201
【實例12.3】使用不同的方式打開檔案 202
12.3.3 文本檔案的讀寫 202
【實例12.4】模擬記錄進銷存管理系統的登錄日誌 203
12.3.4 二進制檔案的讀寫 205
12.4 綜合案例——複製檔案時顯示複製進度 205
12.4.1 案例描述 205
12.4.2 實現代碼 206
12.5 實戰練習 207
第13章 GDI 繪圖
13.1 GDI 繪圖基礎 209
13.2 繪圖 210
13.2.1 畫筆 210
13.2.2 畫刷 211
13.2.3 繪製圖形 211
【實例13.1】繪製驗證碼 211
13.2.4 填充圖形 212
【實例13.2】繪製並利用餅型圖分析產品市場占有率 213
13.3 顏色 213
13.4 文本輸出 214
13.4.1 字型 214
13.4.2 輸出文本 215
13.5 圖像處理 215
13.5.1 繪製圖像 215
13.5.2 刷新圖像 216
13.6 綜合案例——十字游標定位 216
13.6.1 案例描述 216
13.6.2 實現代碼 217
13.7 實戰練習 217
第14章 網路編程
14.1 IP位址封裝 219
【實例14.1】訪問同一區域網路中的主機的名稱 220
14.2 TCP程式設計 221
14.2.1 Socket類 221
14.2.2 TcpClient類和TcpListener類 222
14.2.3 TCP網路程式實例 223
【實例14.2】客戶端/伺服器的互動 223
14.3 UDP程式設計 225
14.3.1 UdpClient類 225
14.3.2 UDP網路程式實例 226
【實例14.3】廣播數據報程式 226
14.4 綜合案例——點對點聊天室 228
14.4.1 案例描述 228
14.4.2 實現代碼 228
14.5 實戰練習 230
第15章 多執行緒編程
15.1 執行緒概述 232
15.1.1 多執行緒工作方式 232
15.1.2 何時使用多執行緒 232
15.2 執行緒的基本操作 232
15.2.1 執行緒的創建與啟動 232
15.2.2 執行緒的掛起與恢復 234
15.2.3 執行緒休眠 235
15.2.4 終止執行緒 235
15.2.5 執行緒的優先權 236
15.3 執行緒同步 237
15.3.1 lock關鍵字 237
【實例15.1】模擬賬戶轉賬操作 237
15.3.2 執行緒監視器——Monitor 238
【實例15.2】Monitor同步監視器的使用 238
15.3.3 子執行緒訪問主執行緒的控制項 239
15.4 執行緒池和定時器 240
15.4.1 執行緒池 240
15.4.2 定時器 241
15.5 互斥對象——Mutex 241
15.6 綜合案例——設定同步塊模擬售票系統 242
15.6.1 案例描述 242
15.6.2 實現代碼 243
15.7 實戰練習 244
第16章 程式調試與異常處理
16.1 程式調試 246
16.1.1 Visual Studio編輯器調試 246
16.1.2 Visual Studio調試器調試 246
16.2 異常處理 248
16.2.1 try…catch語句 249
【實例16.1】未將對象引用設定到對象實例的異常 249
16.2.2 try…catch…finally語句 251
【實例16.2】捕捉將字元串轉換為整型數據時的異常 251
16.2.3 throw語句 252
【實例16.3】拋出除數為0的異常 252
16.2.4 異常的使用原則 253
16.3 綜合案例——數組索引超出範圍引發的異常 253
16.3.1 案例描述 253
16.3.2 實現代碼 253
16.4 實戰練習 254
第17章 註冊表套用
17.1 註冊表基礎 256
17.1.1 Windows註冊表概述 256
17.1.2 Registry和RegistryKey類 256
17.2 在C#中操作註冊表 258
17.2.1 讀取註冊表中信息 258
【實例17.1】讀取註冊表信息 259
17.2.2 創建和修改註冊表信息 259
【實例17.2】創建註冊表項 260
【實例17.3】修改註冊表項 261
17.2.3 刪除註冊表中信息 261
17.3 綜合案例——限制軟體的使用次數 262
17.3.1 案例描述 262
17.3.2 實現代碼 262
17.4 實戰練習 264
第18章 系統打包部署
18.1 創建打包項目 266
18.2 添加項目輸出 266
18.3 添加內容檔案 267
18.4 創建桌面捷徑 267
18.5 添加註冊表項 268
18.6 生成Windows安裝程式 269
第2篇 案例篇
第19章 二維碼生成器——C# ZXing.Net組件實現
19.1 案例效果預覽 272
19.2 案例準備 272
19.3 業務流程 272
19.4 實現過程 272
19.4.1 設計窗體 272
19.4.2 引入ZXing.Net組件 273
19.4.3 自定義生成二維碼的方法 273
19.4.4 設定是否包含圖片 275
19.4.5 實現二維碼的生成 275
第20章 語音與文本的相互轉換——Baidu.AI ffmpeg多媒體框架實現
20.1 案例效果預覽 277
20.2 案例準備 277
20.3 業務流程 277
20.4 實現過程 277
20.4.1 準備百度雲AI的SDK開發包 277
20.4.2 設計窗體 280
20.4.3 創建語音合成與識別對象 281
20.4.4 將文本合成為語音檔案 281
20.4.5 將語音識別為文本 283
第21章 根據人臉推測其年齡性別——C# Baidu.AI框架 人臉識別技術實現
21.1 案例效果預覽 286
21.2 案例準備 286
21.3 業務流程 286
21.4 實現過程 286
21.4.1 設計窗體 286
21.4.2 初始化人臉識別對象 287
21.4.3 識別人臉並推測年齡性別 287
第22章 AI圖像識別工具——Baidu.AI框架 圖像識別技術 文字識別技術實現
22.1 案例效果預覽 292
22.2 案例準備 292
22.3 業務流程 292
22.4 實現過程 292
22.4.1 設計窗體 292
22.4.2 初始化圖像及文字識別對象 294
22.4.3 植物識別 294
22.4.4 動物識別 295
22.4.5 車型識別 296
22.4.6 車牌識別 297
22.4.7 菜品識別 298
第23章 從文檔中提取所有圖片——Sprie.PDF組件 檔案流 Image圖片類實現
23.1 案例效果預覽 301
23.2 案例準備 301
23.3 業務流程 301
23.4 實現過程 301
23.4.1 設計窗體 301
23.4.2 選擇PDF文檔 302
23.4.3 從PDF文檔中提取圖片並保存 302
第24章 為圖片批量添加水印——C# GDI 繪圖技術實現
24.1 案例效果預覽 305
24.2 案例準備 305
24.3 業務流程 305
24.4 實現過程 306
24.4.1 設計窗體 306
24.4.2 載入圖片 306
24.4.3 設定水印類型 307
24.4.4 為圖片添加水印 309
第25章 語音計算器——系統API函式 INI檔案讀寫 語音播放技術實現
25.1 案例效果預覽 314
25.2 案例準備 314
25.3 業務流程 314
25.4 實現過程 315
25.4.1 設計窗體 315
25.4.2 獲取並播放語音 315
25.4.3 數字鍵輸入 316
25.4.4 點輸入 317
25.4.5 其他符號輸入 317
25.4.6 實現計算及語音播放功能 319
25.4.7 語音設定的實現 320
第26章 Word與PDF轉換工具——C# Spire.PDF組件 Spire.Doc組件實現
26.1 案例效果預覽 323
26.2 案例準備 323
26.3 業務流程 323
26.4 實現過程 324
26.4.1 設計窗體 324
26.4.2 設定轉換檔案及格式 324
26.4.3 Word轉換為PDF的實現 325
26.4.4 PDF轉換為Word的實現 326
第27章 EXE檔案加密器——WMI 檔案流 註冊表 異或加密算法實現
27.1 案例效果預覽 329
27.2 案例準備 329
27.3 業務流程 329
27.4 實現過程 330
27.4.1 獲取加密字元串的信息 330
27.4.2 對生成後的數據進行加密 333
27.4.3 對EXE檔案進行加密 335
27.4.4 解密檔案的設定 337
第28章 365桌面提醒器——多執行緒 資料庫 註冊表技術實現
28.1 案例效果預覽 343
28.2 案例準備 343
28.3 業務流程 344
28.3.1 提醒設定流程 344
28.3.2 計畫錄入流程 344
28.3.3 計畫查詢流程 344
28.3.4 計畫統計流程 345
28.4 資料庫設計 345
28.5 公共類設計 345
28.5.1 封裝數據值和顯示值的類 345
28.5.2 綁定和顯示數據的類 346
28.6 提醒設定模組設計 346
28.6.1 提醒設定功能概述 346
28.6.2 提醒設定界面設計 347
28.6.3 打開提醒設定界面 347
28.6.4 保存提示設定 347
28.7 計畫錄入模組設計 348
28.7.1 計畫錄入功能概述 348
28.7.2 計畫錄入界面設計 348
28.7.3 打開計畫錄入界面 349
28.7.4 添加計畫任務 349
28.7.5 保存計畫任務 350
28.7.6 刪除計畫任務 351
28.8 計畫查詢模組設計 352
28.8.1 計畫查詢功能概述 352
28.8.2 計畫查詢界面設計 352
28.8.3 打開計畫查詢界面 353
28.8.4 查詢計畫信息 353
28.8.5 處理計畫 354
28.9 計畫統計模組設計 354
28.9.1 計畫統計功能概述 354
28.9.2 計畫統計界面設計 354
28.9.3 統計計畫信息 355
第29章 《華容道》遊戲——C# 滑鼠鍵盤處理技術實現
29.1 案例效果預覽 357
29.2 案例準備 357
29.3 業務流程 357
29.4 實現過程 358
29.4.1 設計窗體 358
29.4.2 初始化各位置可用狀態 358
29.4.3 設定人物選中狀態 358
29.4.4 遊戲邏輯的實現 359
29.4.5 重新開始遊戲 363
第30章 貪吃蛇大作戰——C# GDI 技術 鍵盤處理實現
30.1 案例效果預覽 365
30.2 案例準備 365
30.3 業務流程 365
30.4 實現過程 366
30.4.1 創建項目並導入資源檔案 366
30.4.2 設計窗體 367
30.4.3 初始化遊戲場景及蛇身 368
30.4.4 控制遊戲的開始、暫停和結束 369
30.4.5 移動貪吃蛇並控制其速度 371
第3 篇 套用篇
第31章 網路多任務下載器——C# Thread多執行緒 斷點續傳技術實現
31.1 系統需求分析 374
31.1.1 系統概述 374
31.1.2 系統可行性分析 374
31.1.3 系統用戶角色分配 374
31.1.4 功能性需求分析 374
31.1.5 非功能性需求分析 375
31.2 系統功能設計 375
31.2.1 系統功能結構 375
31.2.2 系統業務流程 375
31.2.3 系統預覽 375
31.3 系統開發 376
31.3.1 系統開發環境 376
31.3.2 資料夾組織結構 376
31.4 公共類設計 377
31.4.1 Set系統設定類 377
31.4.2 DownLoad檔案下載類 379
31.4.3 xuchuan斷點續傳類 382
31.5 主窗體設計 383
31.5.1 主窗體概述 383
31.5.2 主窗體的業務流程 384
31.5.3 設計主窗體 384
31.5.4 初始化控制項及下載任務狀態 385
31.5.5 打開新建下載任務窗體 391
31.5.6 開始、暫停、刪除及續傳操作 391
31.5.7 網路速度實時監控 393
31.5.8 退出程式時保存續傳檔案 393
31.5.9 打開系統設定窗體 394
31.6 新建下載任務窗體設計 395
31.6.1 新建下載任務概述 395
31.6.2 新建下載任務的業務流程 395
31.6.3 設計新建下載任務界面 395
31.6.4 顯示默認下載路徑 396
31.6.5 選擇下載檔案保存位置 396
31.6.6 自動獲取下載檔案名稱 396
31.6.7 確認下載檔案信息 397
31.7 系統設定窗體設計 398
31.7.1 系統設定窗體概述 398
31.7.2 系統設定的業務流程 398
31.7.3 設計系統設定窗體 398
31.7.4 顯示用戶的默認設定 399
31.7.5 切換設定界面 400
31.7.6 保存用戶設定 401
第32章 明日ERP管理系統——WinForm SQL Server 事務處理技術實現
32.1 系統需求分析 404
32.1.1 系統概述 404
32.1.2 系統可行性分析 404
32.1.3 系統用戶角色分配 404
32.1.4 功能性需求分析 404
32.1.5 非功能性需求分析 405
32.2 系統功能設計 405
32.2.1 系統功能結構 405
32.2.2 系統業務流程 406
32.2.3 系統預覽 406
32.3 系統開發 406
32.3.1 系統開發環境 406
32.3.2 資料夾組織結構 407
32.4 資料庫設計 407
32.4.1 資料庫概要說明 407
32.4.2 資料庫邏輯設計 408
32.5 公共類設計 411
32.5.1 DataBase類 412
32.5.2 CommonUse類 414
32.6 物料清單模組設計 418
32.6.1 物料清單模組概述 418
32.6.2 物料清單模組的業務流程 418
32.6.3 設計物料清單窗體 418
32.6.4 獲取所有母件信息 419
32.6.5 獲取指定母件的子件信息 419
32.6.6 打開物料清單編輯窗體 420
32.6.7 添加/修改物料清單 421
32.7 銷售收款單模組設計 422
32.7.1 銷售收款單模組概述 422
32.7.2 銷售收款單模組的業務流程 423
32.7.3 設計銷售收款單窗體 423
32.7.4 查看已審核的銷售出庫單 424
32.7.5 查看指定出庫單的詳細信息 424
32.8 操作許可權模組設計 425
32.8.1 操作許可權模組概述 425
32.8.2 操作許可權模組的業務流程 425
32.8.3 設計操作許可權窗體 425
32.8.4 初始化用戶及其許可權列表 426
32.8.5 查看操作員的許可權 428
32.8.6 修改操作員許可權 429