本書主要介紹C#語言、WinForm和WPF應(yīng)用程序開發(fā)的基礎(chǔ)知識。全書共14章,前6章介紹C#語言和WinForm開發(fā)的基礎(chǔ)知識,包括開發(fā)環(huán)境、基本數(shù)據(jù)類型、流程控制語句、類和結(jié)構(gòu)、接口委托與事件、泛型與LINQ、目錄與文件操作等;后8章介紹如何開發(fā)WPF應(yīng)用程序,包括WPF控件、資源與樣式控制、動畫與多媒體、數(shù)據(jù)綁定與數(shù)據(jù)驗證、數(shù)據(jù)庫與實體數(shù)據(jù)模型、二維圖形圖像處理、三維圖形和三維呈現(xiàn)。同時附錄中給出了本書的上機(jī)練習(xí)和綜合實驗。
本書提供配套的PPT課件、在VS2012下調(diào)試通過的所有參考源程序,以及書中全部習(xí)題參考解答。
本書可作為高等院校計算機(jī)及相關(guān)專業(yè)的教材,也可作為初、中級程序員的參考用書。
1.全書內(nèi)容是作者經(jīng)過多年教學(xué)驗證的,案例都是從作者實際開發(fā)中抽取出來的,實用性非常強(qiáng)。 2.教材配套資料全,適合教師需求! 3.與同類書籍相比,教材對基本概念的講解透徹,條理清晰,步驟詳細(xì),非常適合自學(xué)。
第1篇 C#程序設(shè)計基礎(chǔ)
第1章 C#代碼編寫基礎(chǔ)
1.1 C#語言和VS2012開發(fā)環(huán)境
1.1.1 C#語言和.NET框架
1.1.2 VS2012開發(fā)環(huán)境
1.2 C#項目的組織
1.2.1 命名空間
1.2.2 using關(guān)鍵字
1.2.3 Main方法
1.2.4 代碼注釋
1.2.5 通過斷點調(diào)試C#程序
1.2.6 C#代碼編寫命名規(guī)范
1.3 控制臺應(yīng)用程序
1.3.1 控制臺應(yīng)用程序的輸入與輸出
1.3.2 在控制臺應(yīng)用程序中輸出格式化數(shù)據(jù)
第1篇 C#程序設(shè)計基礎(chǔ)
第1章 C#代碼編寫基礎(chǔ)
1.1 C#語言和VS2012開發(fā)環(huán)境
1.1.1 C#語言和.NET框架
1.1.2 VS2012開發(fā)環(huán)境
1.2 C#項目的組織
1.2.1 命名空間
1.2.2 using關(guān)鍵字
1.2.3 Main方法
1.2.4 代碼注釋
1.2.5 通過斷點調(diào)試C#程序
1.2.6 C#代碼編寫命名規(guī)范
1.3 控制臺應(yīng)用程序
1.3.1 控制臺應(yīng)用程序的輸入與輸出
1.3.2 在控制臺應(yīng)用程序中輸出格式化數(shù)據(jù)
1.4 Windows窗體應(yīng)用程序
1.4.1 Windows窗體應(yīng)用程序的特點
1.4.2 Windows窗體應(yīng)用程序的啟動和退出
1.4.3 窗體的創(chuàng)建、顯示、隱藏和關(guān)閉
1.4.4 消息框(MessageBox)
1.4.5 利用WinForm控件實現(xiàn)輸入和輸出
1.4.6 錯誤提示(ErrorProvider)
1.5 WPF和Silverlight應(yīng)用程序
1.5.1 WPF應(yīng)用程序
1.5.2 Silverlight應(yīng)用程序
1.6 其他應(yīng)用程序模板
1.6.1 WCF應(yīng)用程序
1.6.2 ASP.NET和ASP.NET MVC應(yīng)用程序
1.6.3 Metro樣式的應(yīng)用程序
1.7 獨立應(yīng)用程序和瀏覽器運行的應(yīng)用程序
1.7.1 服務(wù)器操作系統(tǒng)和客戶端操作系統(tǒng)的分類
1.7.2 獨立應(yīng)用程序的部署和運行
1.7.3 Web應(yīng)用程序的部署和運行
習(xí)題
第2章 基本數(shù)據(jù)類型和流程控制語句
2.1 數(shù)據(jù)類型和運算符
2.1.1 C#的類型系統(tǒng)
2.1.2 常量與變量
2.1.3 運算符與表達(dá)式
2.2 簡單類型
2.2.1 整型
2.2.2 浮點型
2.2.3 布爾型(bool)
2.2.4 字符(char)
2.2.5 枚舉(enum)
2.2.6 可空類型
2.3 字符串
2.3.1 字符串的創(chuàng)建與表示形式
2.3.2 字符串的常用操作方法
2.3.3 String與StringBuilder
2.4 數(shù)組
2.4.1 一維數(shù)組
2.4.2 多維數(shù)組
2.4.3 交錯數(shù)組
2.4.4 數(shù)組的常用操作方法
2.5 數(shù)據(jù)類型之間的轉(zhuǎn)換
2.5.1 值類型之間的數(shù)據(jù)轉(zhuǎn)換
2.5.2 值類型和引用類型之間的轉(zhuǎn)換
2.6 流程控制語句
2.6.1 分支語句
2.6.2 循環(huán)語句
2.6.3 跳轉(zhuǎn)語句
2.6.4 異常處理語句
習(xí)題
第3章 類和結(jié)構(gòu)
3.1 自定義類(class)和結(jié)構(gòu)(struct)
3.1.1 類的定義和成員組織
3.1.2 訪問修飾符
3.1.3 靜態(tài)成員和實例成員
3.1.4 構(gòu)造函數(shù)和析構(gòu)函數(shù)
3.1.5 字段和局部變量
3.1.6 結(jié)構(gòu)的定義和成員組織
3.2 屬性和方法
3.2.1 屬性(Property)
3.2.2 方法
3.3 類的繼承與多態(tài)性
3.3.1 封裝
3.3.2 繼承
3.3.3 多態(tài)(new、virtual、override)
3.4 常用結(jié)構(gòu)和類的用法
3.4.1 Math類
3.4.2 DateTime結(jié)構(gòu)和TimeSpan結(jié)構(gòu)
3.4.3 秒表和計時器(Stopwatch、Timer、DispatcherTimer)
3.4.4 隨機(jī)數(shù)(Random)
習(xí)題
第4章 接口、委托與事件
4.1 接口
4.1.1 接口的聲明和實現(xiàn)
4.1.2 顯式方式實現(xiàn)接口
4.1.3 利用接口實現(xiàn)多繼承
4.2 委托
4.2.1 定義委托類型
4.2.2 通過委托調(diào)用方法
4.3 事件
4.3.1 事件的聲明和引發(fā)
4.3.2 具有標(biāo)準(zhǔn)簽名的事件
4.4 序列化與反序列化
4.4.1 序列化
4.4.2 反序列化
4.5 反射
習(xí)題
第5章 泛型與LINQ
5.1 C#的類型擴(kuò)展
5.1.1 匿名類型和隱式類型的局部變量
5.1.2 對象初始化和集合初始化
5.2 泛型和泛型集合
5.2.1 泛型的定義和引用
5.2.2 列表和排序列表
5.2.3 鏈表
5.2.4 字典和排序字典
5.2.5 隊列
5.2.6 堆!
5.2.7 哈希表和哈希集合
5.3 LINQ查詢表達(dá)式
5.3.1 延遲執(zhí)行和立即執(zhí)行
5.3.2 from子句
5.3.3 where子句
5.3.4 orderby子句
5.3.5 group子句
5.3.6 select子句
5.3.7 查詢多個對象
5.4 Lambda表達(dá)式
5.4.1 Lambda表達(dá)式的基本用法
5.4.2 在Func和Action委托中使用Lambda表達(dá)式
5.5 LINQ to Objects
習(xí)題
第6章 目錄與文件操作
6.1 目錄和文件管理
6.1.1 Environment類和DriveInfo類
6.1.2 Path類
6.1.3 目錄管理
6.1.4 文件管理
6.2 文件的讀寫
6.2.1 文件編碼
6.2.2 文本文件的讀寫
6.2.3 StreamReader類和StreamWriter類
6.2.4 二進(jìn)制文件的讀寫
6.3 LINQ to XML
6.3.1 創(chuàng)建XML
6.3.2 查詢XML
習(xí)題
第2篇 WPF應(yīng)用程序
第7章 WPF應(yīng)用程序入門
7.1 WPF應(yīng)用程序和XAML標(biāo)記
7.1.1 Application類和App類
7.1.2 WPF應(yīng)用程序的關(guān)閉模式及Shutdown方法
7.1.3 XAML命名空間和x:前綴編程構(gòu)造
7.1.4 XAML基本語法
7.1.5 WPF設(shè)計器
7.2 窗口和對話框
7.2.1 WPF窗口
7.2.2 在主窗口顯示前先顯示登錄窗口或者歡迎窗口
7.2.3 窗口的外觀和行為
7.2.4 對話框
7.2.5 WPF頁和頁面導(dǎo)航
7.3 顏色
7.3.1 顏色格式
7.3.2 Brushes類和Colors類
7.3.3 Color結(jié)構(gòu)
7.4 形狀
7.4.1 形狀控件共有的屬性
7.4.2 矩形(Rectangle)
7.4.3 橢圓(Ellipse)
7.4.4 其他基本形狀
7.5 畫筆(Brush)
7.5.1 畫筆分類
7.5.2 利用WPF設(shè)計器和屬性窗口設(shè)置畫筆類型
7.5.3 純色畫筆(SolidColorBrush)
7.5.4 線性漸變畫筆(LinearGradientBrush)
7.5.5 徑向漸變畫筆(RadialGradientBrush)
7.5.6 利用WPF設(shè)計器實現(xiàn)畫筆變換
7.6 屬性
7.6.1 依賴項屬性和附加屬性
7.6.2 利用樣式資源控制控件的屬性
7.7 事件
7.7.1 WPF事件模型
7.7.2 事件路由策略
7.7.3 鼠標(biāo)事件
7.7.4 鍵盤事件
7.7.5 手寫筆和觸控事件
習(xí)題
第8章 WPF控件
8.1 控件模型和內(nèi)容模型
8.1.1 內(nèi)置的WPF控件
8.1.2 WPF控件模型
8.1.3 WPF內(nèi)容模型
8.1.4 WPF應(yīng)用程序中創(chuàng)建控件對象的方式
8.2 常用布局控件
8.2.1 WPF的布局分類
8.2.2 網(wǎng)格(Grid)
8.2.3 堆疊面板(StackPanel)
8.2.4 畫布(Canvas)
8.2.5 邊框(Border)
8.2.6 ?棵姘(DockPanel)
8.2.7 其他常用布局控件
8.3 常用基本控件
8.3.1 按鈕(Button、RepeatButton)
8.3.2 文本塊(TextBlock)和標(biāo)簽(Label)
8.3.3 文本框(TextBox、PasswordBox、RichTextBox)
8.3.4 單選按鈕(RadioButton)
8.3.5 復(fù)選框(CheckBox)
8.3.6 列表框(ListBox)和下拉框(ComboBox)
8.4 菜單、工具條和狀態(tài)條
8.4.1 菜單(Menu)和快捷菜單(ContextMenu)
8.4.2 工具條(ToolBar、ToolBarTray)和狀態(tài)條(StatusBar)
8.5 圖像和GIF動畫
8.5.1 Image控件
8.5.2 利用WindowsFormsHost播放GIF動畫
8.6 其他WPF控件
習(xí)題
第9章 資源與樣式控制
9.1 文件屬性與文件資源
9.1.1 WPF項目中的文件屬性
9.1.2 嵌入的資源和鏈接的資源
9.1.3 內(nèi)容文件和SplashScreen
9.2 XAML資源和樣式控制
9.2.1 XAML資源
9.2.2 Style元素
9.2.3 在Style元素中設(shè)置屬性和事件
9.2.4 樣式的級聯(lián)控制
9.2.5 使用C#代碼定義和引用樣式
9.3 在Style元素中使用模板和觸發(fā)器
9.3.1 模板
9.3.2 觸發(fā)器
9.4 主題(Themes)
9.4.1 系統(tǒng)主題
9.4.2 自定義主題
9.5 本地化處理
9.5.1 利用資源字典實現(xiàn)本地化處理
9.5.2 利用嵌入的資源實現(xiàn)本地化處理
習(xí)題
第10章 動畫與多媒體
10.1 WPF動畫基礎(chǔ)
10.1.1 WPF動畫的分類
10.1.2 Storyboard和Timeline
10.2 基本動畫(From/To/By)
10.2.1 基本動畫類型
10.2.2 用本地動畫實現(xiàn)基本動畫
10.2.3 用Storyboard實現(xiàn)基本動畫
10.2.4 用時鐘動畫實現(xiàn)基本動畫
10.3 關(guān)鍵幀動畫
10.3.1 關(guān)鍵幀動畫類型
10.3.2 利用Blend for VS2012制作關(guān)鍵幀動畫
10.3.3 在關(guān)鍵幀動畫中插入樣條動畫
10.3.4 在關(guān)鍵幀動畫中插入緩動函數(shù)
10.4 路徑動畫
10.4.1 使用PathGeometry繪制路徑
10.4.2 路徑動畫類型
10.4.3 利用Blend for VS2012制作路徑動畫
10.5 變換(Transform)
10.5.1 基本概念
10.5.2 對變換進(jìn)行動畫處理
10.6 效果(Effect)
10.6.1 模糊效果(BlurEffect)
10.6.2 陰影效果(DropShadowEffect)
10.6.3 文本效果(TextEffect)
10.7 音頻和視頻
10.7.1 語音
10.7.2 音頻和視頻(MediaElement)
10.7.3 SoundPlayerAction類
習(xí)題
第11章 數(shù)據(jù)綁定與數(shù)據(jù)驗證
11.1 數(shù)據(jù)綁定
11.1.1 數(shù)據(jù)綁定基本概念
11.1.2 簡單數(shù)據(jù)綁定
11.1.3 數(shù)據(jù)模板化
11.1.4 通過數(shù)據(jù)模板和視圖綁定到集合
11.2 數(shù)據(jù)驗證
11.2.1 數(shù)據(jù)驗證的基本概念
11.2.2 利用驗證規(guī)則和綁定模型實現(xiàn)驗證
習(xí)題
第12章 數(shù)據(jù)庫與實體數(shù)據(jù)模型
12.1 創(chuàng)建數(shù)據(jù)庫和表
12.1.1 ADO.NET數(shù)據(jù)訪問技術(shù)
12.1.2 SQL Server 2012簡介
12.1.3 創(chuàng)建LocalDB數(shù)據(jù)庫
12.2 利用實體框架創(chuàng)建實體數(shù)據(jù)模型
12.2.1 實體框架基本概念
12.2.2 實體框架開發(fā)模式
12.2.3 從數(shù)據(jù)庫創(chuàng)建實體數(shù)據(jù)模型
12.3 使用LINQ to Entities訪問實體對象
12.3.1 創(chuàng)建實體框架上下文(DbContext)實例
12.3.2 加載相關(guān)對象
12.3.3 查詢數(shù)據(jù)
12.3.4 修改數(shù)據(jù)
12.3.5 添加或刪除數(shù)據(jù)
12.4 DataGrid控件
12.4.1 綁定各種類型的數(shù)據(jù)
12.4.2 標(biāo)題和行列控制
習(xí)題
第13章 二維圖形圖像處理
13.1 圖形圖像處理基礎(chǔ)
13.1.1 與二維三維圖形圖像處理相關(guān)的類
13.1.2 創(chuàng)建本章例子的主程序
13.2 圖形處理
13.2.1 二維幾何圖形和路徑標(biāo)記語法
13.2.2 基本圖形
13.2.3 復(fù)合圖形
13.2.4 將格式化文本轉(zhuǎn)換為圖形
13.3 圖像處理
13.3.1 圖像處理常用類
13.3.2 圖像的編碼和解碼
13.3.3 像素格式轉(zhuǎn)換(FormatConvertedBitmap)
13.3.4 旋轉(zhuǎn)剪切和縮放圖像
13.3.5 自動播放和逐幀繪制GIF動畫
13.3.6 其他基本的圖像處理技術(shù)
13.4 利用畫筆繪制圖形圖像
13.4.1 TileBrush類
13.4.2 圖像畫筆(ImageBrush)
13.4.3 繪制畫筆(DrawingBrush)
13.4.4 可視畫筆(VisualBrush)
習(xí)題
第14章 三維圖形和三維呈現(xiàn)
14.1 WPF三維設(shè)計基本知識
14.1.1 Viewport3D控件
14.1.2 照相機(jī)(Camera)
14.1.3 三維幾何模型(GeometryModel3D)
14.1.4 光照類型
14.1.5 材料(Meterial)
14.2 在窗口或頁面中呈現(xiàn)三維場景
14.2.1 利用相機(jī)變換制作3D場景觀察器
14.2.2 動態(tài)顯示相機(jī)的屬性
14.2.3 三維網(wǎng)格幾何(MeshGeometry3D)
14.3 三維建模和自定義三維模型類
14.3.1 利用模型編輯器創(chuàng)建和編輯三維模型
14.3.2 創(chuàng)建自定義三維模型類
14.3.3 利用三維模型庫簡化場景構(gòu)建
14.4 對模型進(jìn)行變換和動畫處理
14.4.1 三維變換處理基礎(chǔ)
14.4.2 將三維變換封裝到模型庫中
14.4.3 對模型進(jìn)行動畫處理
習(xí)題
附錄A 上機(jī)練習(xí)
附錄B 綜合實驗