 |
-- 會員 / 註冊 --
|
|
|
|
.NET精簡框架程式設計——C#版 ( 簡體 字) |
作者:(美)Paul Yao/David Durant | 類別:1. -> 程式設計 -> .NET |
譯者:劉新軍/盛泉/李辛鶴 |
出版社:電子工業出版社 | 3dWoo書號: 2001 詢問書籍請說出此書號!【缺書】 【不接受訂購】 |
出版日:6/1/2006 |
頁數:751 |
光碟數: |
|
站長推薦:  |
印刷: | 語系: ( 簡體 版 ) |
|
【不接受訂購】 | ISBN:712102716X |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:20年前,當Windows剛誕生的時候(Windows 1.01),Paul Yao 和 David Durant的著作《Windows程序員指南》幫助許多程序員克服了面對Windows平臺帶來的困難,帶領第一批程序員從MS-DOS的世界跨入Windows開發的殿堂。當.NET精簡框架剛誕生的時候,二位專家又經過多年潛心跟蹤與研究,并與.NET精簡框架開發團隊緊密合作,推出了《.NET精簡框架程序設計——C#版》,帶領廣大Windows程序員從成熟的桌面開發轉入潛力無限的移動及嵌入式設備開發。 本書涵蓋了.NET精簡框架開發的方方面面,如語言基礎、用戶界面、數據管理、創建圖形輸出。書中詳細地描述了編程的具體方法,使沒有.NET精簡框架開發經驗甚至Windows開發經驗的程序員輕松上手。更難能可貴的是,書中還深入闡述了這些方法后面的來龍去脈及分析比較,使讀者不僅Know How,而且Know Why。 本書的另一個顯著特點是提供了大量的示例代碼,以或大或小的例子形象展示了各種方法的應用場景和技巧。 可以說,不論你是剛入門的初學者還是經驗豐富的高手,《.NET精簡框架編程——C#版》都是你權威的指南和參考手冊,它是你進入前途無限的.NET精簡框架開發的敲門磚和“葵花寶典”。 |
目錄:1 .NET精簡框架體系結構 1 Windows CE概述 2 設計目標 3 平臺和Platform Builder 10 eMbedded Visual C++ 11 什么是.NET 14 有效的.NET實現 14 .NET的規模與范圍 15 三種.NET應用程序 17 通用編程要素 20 .NET精簡框架 24 設計目標 24 .NET精簡框架文件 28 .NET精簡框架的能力 32 .NET精簡框架的限制 37 小結 38 2 什么是.NET精簡框架程序? 39 .NET精簡框架程序的本質 39 使用.NET精簡框架庫 41 有圖形用戶界面 41 完全由源代碼定義 41 有一個或多個System.Windows.Forms.Form類的派生類 42 使用Visual Studio .NET 2003 42 使用開發環境 47 查看設計器生成的代碼 49 區域 52 Cistern示例程序 53 第1步:使用設計器添加控件 53 第2步:在程序中添加代碼 58 添加類 62 創建WaterMath類 64 重載函數 65 使用WaterMath對象 65 定義和使用共享方法 66 理解命名空間 67 使用智能感知 69 小結 71 3 .NET類型系統 71 使用類型信息:命名空間引用和程序集引用 72 命名空間內容 72 訪問命名空間 73 程序集引用 74 標準類型 77 值類型 77 引用類型 80 聲明,初始化和分配 81 值類型和引用類型作為參數 82 字符串 83 字面字符串 83 System.String類 84 字符串資源 86 類型轉換 88 數值轉換 88 將值轉換為對象 93 內存管理 94 元數據表 95 JIT代碼池 95 自動垃圾回收 97 托管數據的特殊處理 99 本地代碼的手動內存管理 104 小結 104 4 平臺調用 105 P/Invoke概覽 105 何時使用P/Invoke 106 相對于Win32函數,為什么我們更喜歡.NET 精簡框架類 108 向托管代碼中導入非托管代碼 109 創建P/Invoke聲明 109 非托管函數細節 112 函數返回值 115 開始:C風格的函數聲明 116 參數傳遞的限制 118 簡單數據類型 118 帶符號與無符號的整型 120 通過傳值和傳引用來傳遞參數 120 通過傳值傳遞字符串參數 121 結構體 121 類型的類型和參數的類型 126 數組 127 一個簡單的程序:CallWin32 129 編寫Win32動態連接庫 133 開發工具 133 在DLL中聲明C++函數 133 手工進行P/Invoke參數傳遞 135 Marshal類 136 分配非托管內存空間 137 復制到非托管內存 139 從非托管內存創建對象 141 在非托管代碼和托管代碼間通信 143 MessageWindow類 143 在托管和非托管代碼間通信的其他方法 145 比較P/Invoke支持 145 針對Windows CE的差異 146 限制 146 .NET精簡框架實現細節 148 小結 148 5 創建窗體 150 什么是窗體? 150 從Form類繼承窗體 151 屬性,方法和事件 152 一個事件捕捉應用程序 156 操縱窗體 158 創建窗體 158 顯示窗體 160 關閉窗體 161 孤立窗體 162 天氣的示例應用程序 163 跟蹤窗體 165 控件集 167 多線程 168 繼承和可視化繼承 169 小結 174 6 鼠標和鍵盤輸入輸入概覽 175 事件驅動輸入 177 前端窗口 178 有效和失效 178 可見性 179 鍵盤輸入 179 鼠標輸入 180 為鼠標和鍵盤輸入使用控件 182 控件對輸入事件的支持 182 對標簽控件的輸入 185 脫字符號和光標 186 為鼠標輸入編程 187 鼠標事件 187 自動鼠標捕獲 188 鼠標事件處理 188 一個示例程序:DrawRectangles 190 繪制可伸縮的橡膠矩形 190 收集點 193 繪制矩形 195 鼠標調試技巧:以文本打印鼠標坐標 196 用Cursor類設置鼠標光標 197 用Win32函數設置鼠標光標 199 鍵盤輸入編程 200 鍵盤輸入的來源 200 鍵盤事件 203 示例程序:KeyInput 209 示例程序:KeyState 215 示例程序:Caret 217 示例程序:Sleep 221 小結 224 7 深入控件 225 什么是控件? 225 可視的對象 225 源于桌面版.NET框架 226 文檔、開發和混淆 229 控件的分類 230 最根本的父控件 230 容器控件 230 單項控件 231 復合項控件 232 命令輸入控件 233 屬性,方法和事件 234 核心事件 234 ParentChanged事件 239 核心屬性 243 父/子(parent/child)屬性 244 位置屬性 245 數據綁定屬性 246 控件狀態屬性 246 核心方法 247 線程安全(Thread-Safe)函數調用 247 對象清理 247 坐標轉換 248 Z軸次序 248 可見性 249 與控件類型信息打交道 249 對控件進行類型轉換 250 比較兩個控件引用 250 五種常用控件 251 一個例程:時間跟蹤器 ( TimeTracker ) 255 書寫代碼 256 應用程序界面 259 編寫事件處理程序 260 Label 控件 262 可以顯示;不能更新 262 透明性 263 TextBox控件 266 可以顯示;可以輸入 267 ListBox和ComboBox控件 268 ListBox控件中的列表 270 在我們的例程中使用ComboBox控件 271 按鈕控件 272 觸發操作 273 在運行時添加控件 273 為New按鈕處理Click事件 274 為Add按鈕處理Click事件 278 為Cancel按鈕處理Click事件 279 RadioButton和CheckBox控件 280 一個例程: 成員注冊程序 280 使用單選按鈕 281 構建成員注冊程序 282 使用復選框 284 改進成員注冊程序 284 小結 288 8 將數據綁定到控件 289 數據綁定 289 可數據綁定的控件 290 可數據綁定的對象 291 復雜數據綁定 295 簡單數據綁定 296 格式化和解析 298 DataGrid控件 300 對DataGrid控件使用復雜數據綁定 304 在DataGrid控件中設置數據顯示式樣 304 建立表格和列的式樣 306 在運行時進行設計 308 響應用戶輸入 309 對DataGrid控件使用簡單數據綁定 313 訪問DataGrid信息 313 提供“下一步”能力 317 提供實地編輯能力 321 提供自動實地編輯能力 325 小結 332 9 深入更多的控件 333 檢測支持的屬性,方法和事件 333 工具:ControlPME 333 桌面.NET框架程序中的.NET精簡框架控件 334 菜單 335 開始菜單 335 程序菜單 337 示例程序:ProgramMemu 340 上下文菜單 341 示例程序:TextBoxClipboard 341 在TextBox控件中支持剪貼板 343 捕獲事件 346 通過子類化來截取Win32消息 348 使用MessageWindow類來獲取托管代碼中的消息 355 ToolBar和ImageList控件 357 工具欄 358 工具欄按鈕 361 ImageList控件和圖片 361 示例程序:ToolBar 363 對話框 368 內置對話框 368 示例程序:FileDialogs 370 創建自定義的對話框 371 設計Pocket PC對話框 372 編寫自定義對話框 373 修正一個Pocket PC中的任務列表問題 374 示例程序:DialogBoxes 375 生成Options對話框 376 控制Options對話框 377 小結 381 10 構建自定義控件 383 自定義控件 383 控件就是對象 384 設計建議 385 關于屬性和方法 389 關于事件 392 從已有的.NET控件中衍生自定義控件 394 DateBox控件示例 395 WaterTemp對象的例子 408 創建復合控件 418 TaskStatus控件示例 419 對組件之間關系的編程 421 創建新控件 423 設計技巧 423 Providing Our Own Display for the TaskStatus Control 424 為TaskStatus控件提供自己的顯示功能 424 在自定義控件中添加動畫 427 生活游戲 427 提供一致的速度和最小的抖動 431 對象重用 434 在多線程環境下建立自定義控件 435 控件的主線程和它的服務線程 435 多線程示例 437 在Visual Studio.NET的工具箱中添加自定義控件 442 將自定義控件放到工具箱中的障礙 442 開發設計時自定義控件 444 小結 453 11 存儲 445 智能設備的數據存儲 445 對象存儲區 445 系統電源狀態 446 安裝型文件系統 447 Windows CE文件系統 447 基于ROM的文件 448 基于RAM的文件 448 文件I/O 449 File和 Directory類 452 字節級別的I/O 452 高層次的I/O 453 數據的編碼和解碼 454 使用I/O類 455 文本文件I/O 456 二進制文件I/O 458 寫入二進制數據 459 讀取二進制數據 460 I/O和結構體 460 XML文件I/O 462 訪問注冊表 466 打開一個注冊表鍵 467 P/Invoke封裝的需求 467 映射注冊表類型到托管類型 468 打開和訪問注冊表鍵 469 讀取注冊表值 470 寫入注冊表值 471 使用函數重載來訪問數據庫 472 使用注冊表工具類 473 更新存儲的示例應用程序來使用注冊表 476 小結 479 12 ADO.NET編程 481 檢查ADO.NET 483 一種分層方法 483 ADO.NET類 485 ADO.NET錯誤處理 488 使用數據集 489 創建和訪問DataSet, DataTable和DataView對象 490 數據綁定 493 以XML讀取和寫入數據集 500 Microsoft SQL Server CE 501 SQL Server CE文件 502 SQL Server CE語法 503 SQL Server CE查詢分析器 505 創建一個SQL Server CE數據庫實例 507 組裝一個SQL Server CE數據庫 508 取得和顯示數據 510 更新SQL Server CE數據庫 516 SqlCeDataAdapter類 517 查詢模式信息 521 Microsoft SQL Server 525 連接到SQL Server 526 創建命令對象 532 使用SQL Server存儲過程 532 用DataSet對象使用存儲過程 537 數據集對象和并發性 539 Web Services 539 XML, XSD和SOAP 540 小結 551 13 同步移動數據 553 了解遠程數據應用程序 554 遠程數據接入RDA 和合并復制 555 IIS 連接 555 數據庫連接性 556 安裝遠程數據連接 557 創建虛擬目錄 557 配置另外的組件 560 使用 RDA 560 RDA的性能和系統開銷 561 RDA編程 562 使用合并復制 569 使用優良的設計,避免同步失敗 570 配置合并復制 572 使用合并復制編程 573 在合并復制和RDA之間選擇 579 小結 579 附錄: 579 14 遠程 API 581 什么是 ActiveSync? 581 協作者和訪客 583 ActiveSync 的缺點 583 ActiveSync 與 Web Services的比較 585 ActiveSync編程接口 586 你需要創建托管代碼的ActiveSync的應用程序嗎? 586 RAPI 基本原理 587 RAPI函數 588 生成 .NET ActiveSync 應用程序 593 RAPI 啟動和關閉 593 訪問對象存儲 601 使用 RAPI 訪問移動設備文件 602 對設備注冊表項的遠程訪問 612 對移動設備屬性數據庫的遠程訪問 620 檢測移動設備連接狀態的改變 623 自啟動方法 624 回調方法 624 裝載程序和 DLL 629 運行移動設備端程序 629 裝載移動設備端 DLL 630 小結 636 15 .NET精簡框架圖形 637 .NET精簡框架圖形介紹 637 繪圖面 639 繪圖函數族 640 .NET精簡框架圖形 641 文本輸出繪制支持 643 對光柵輸出的繪圖支持 644 矢量輸出繪圖的支持 644 顯示屏繪圖 645 訪問Graphics 對象 645 在控件上繪圖 646 Paint事件 648 非Paint事件繪圖 649 光柵圖形 650 指定顏色 651 系統顏色 652 命名顏色 653 RGB值定義的顏色 654 創建刷子(Brush) 655 用系統顏色創建刷子 655 用命名顏色創建刷子 656 創建位圖 656 位圖:繪圖面或繪圖對象? 657 Bitmap類 657 創建空位圖 658 從外部文件創建位圖 659 從資源(Resource)創建位圖 660 圖像文件大小 663 繪制位圖 664 以原圖大小繪制整個位圖 664 以原圖大小繪制位圖的一部分 664 以可變大小繪制部分位圖 665 示例程序:ShowBitmap 667 矢量圖形 672 創建畫筆 673 一個游戲:JaspersDots 674 小結 683 16 文本與字體 685 繪制文本 685 .NET精簡框架支持的文本繪制 68`5 DrawString方法 686 一個示例程序:SimpleDrawString 687 字體選擇 688 控件的字體屬性 689 普通字體 690 示例程序: GenericFonts 691 創建命名字體 693 枚舉字體 696 示例程序:FontPicker 696 一個示例庫:FontList,一個Win32字體枚舉DLL 698 本地代碼字體 702 示例程序:RotateText 705 放置文本 708 文字大小和MeasureString方法 709 示例程序:MeasureString 709 文本對齊 711 示例程序:TextAlign 711 自動換行 716 示例程序:WordWrap 716 文本顏色 718 文本的前景和背景色 718 示例程序:TextColor 719 小結 724 17 打印 725 打印管道 726 打印機 726 頁面描述語言(PDL,Page Description Languages) 727 PCL 727 Postsctipt 727 I/O通道 728 打印任務 730 圖形子系統 730 打印程序 731 打印輸出編程 731 打印示例程序概述 732 示例打印程序的時間測試 733 我們的結論 734 Pocket PC打印支持 734 打印對話框 735 直接打印 739 用PCL打印機直接打印 740 示例程序:PrintDirect 741 GDI繪制 745 GDI設計記錄 745 與設備無關的編程接口 746 Windows CE支持的GDI函數 746 GDI查詢函數 747 GDI打印和繪圖函數 747 GDI繪圖屬性 749 示例程序:PrintGDI 750 HP移動打印 753 Pocket PC版HP移動打印 754 HP移動打印軟件開發工具包 755 Microsoft Visual Studio .NET支持的HP移動打印SDK 756 示例程序:PrintHPMobile 757 用PrinterCE繪制 757 PrintrCE庫 759 示例程序:PrintField 761 小結 763 |
序: |
|