Windows Forms 2.0程序设计

Windows Forms 2.0程序设计 pdf epub mobi txt 电子书 下载 2026

出版者:电子工业出版社
作者:魏尔斯
出品人:
页数:888
译者:汪泳
出版时间:2008-4
价格:108.00元
装帧:平装
isbn号码:9787121058684
丛书系列:
图书标签:
  • WinForm
  • .NET
  • C
  • #Programming
  • DotNet
  • 已购买
  • 其他
  • windows
  • Windows Forms
  • C#
  • NET
  • GUI编程
  • Windows应用程序
  • Visual Studio
  • 用户界面
  • 控件
  • 事件处理
  • 数据绑定
  • 开发教程
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《Windows Forms 2.0程序设计》主要内容:如果你想开发优秀的Windows Forms 2.0应用程序,《Windows Forms 2.0程序设计》就是你书架上必不可少的参考书,它也是Windows Forms 2.0的最佳使用指南。全书包括19章和6个附录,全面地讲解了Windows Forms 2.0的各项技术,还深入地探讨了各种类型应用程序的解决方案。在讲解这些技术的同时,还列举了与Windows Forms之前的版本不同的地方以及一些新增的内容。特别值得一提的是附录中最后一部分讲解的文档管理功能,Windows Forms应用程序的开发人员可以使用它来搭建应用程序的架构。

作者简介

Chris Sells是互联系统部门的程序经理。他写过几本书,其中包括Programming Windows Presentation Foundation(O’Reilly)、Windows Forms Programming in C#(Addison-Wesley),以及ATL Internals(Addison-Wesley)。在他的闲暇时间,Chris主持着几个会议并且在Microsoft内部产品团队讨论列表上拥有自己的一个列表。关于Chris和他的几个项目的更多信息可以参见http://www.sellsbrothers.com。

Michael Weinhardt是Microsoft的程序员和作家,在Windows Client SDK部门供职。Michael与Chris一起合作编写了多篇文章,为MSDN在线的“Wonders of Windows Forms”专栏做出了很多贡献,评论过几本Windows技术的书,并且喜欢与同事沟通技术的原由。Michael确信由于他的父母在20世纪80年代中期购买了Amiga 1000机器而使他迷恋上了技术。

目录信息

第1章 你好,Windows Forms 1
1.1 从头开始学习Windows Forms 1
1.2 Visual Studio .NET中的Windows Forms 6
1.3 布置控件 12
1.4 控件 15
1.5 应用程序设置 17
1.6 资源 21
1.7 对话框 24
1.8 绘图 27
1.9 打印 29
1.10 数据绑定 30
1.11 多线程用户界面 33
1.12 部署 35
1.13 本章小结 36
第2章 窗体 37
2.1 显示窗体 37
拥有者窗体和附属窗体 38
2.2 窗体生命周期 40
窗体打开阶段 41
窗体变为非活动窗体以及重新激活窗体 43
窗体关闭阶段 44
2.3 窗体通知行为 46
闪动通知 46
系统托盘通知 47
只存在于系统托盘的应用程序 49
2.4 窗体大小和位置 51
限制窗体大小 55
窗体的Z-Order顺序 56
2.5 窗体修饰 57
2.6 透明窗体 58
非矩形窗体 59
2.7 窗体和快捷菜单 62
快捷菜单 67
2.8 工具条 69
2.9 状态条 71
2.10 多文档界面应用程序 74
2.11 可视化继承 84
2.12 本章小结 86
第3章 对话框 87
3.1 标准对话框 87
3.2 窗体风格 89
在运行时获得窗体是处于模式状态还是非模式状态 90
3.3 数据交换 91
处理OK按钮和Cancel按钮 92
非模式窗体数据 96
3.4 数据验证 97
正则表达式和数据验证 98
掩码文本输入和数据验证 99
数据格式通知功能 100
组合验证 101
整体验证 102
3.5 实现帮助功能 106
工具提示条 106
使用ErrorProvider提供通用信息 107
处理帮助按钮和F1键 109
使用HTML帮助 111
编译好的HTML帮助 113
使用HelpProvider组件 116
显示帮助目录、索引和搜索 117
3.6 本章小结 117
第4章 布局 119
4.1 固定布局 119
位置和大小 119
控件的Z-Order顺序 124
控件的Tab键顺序 125
4.2 动态布局 126
锚定 127
停靠 129
停靠和Z-Order顺序 131
工具条控件的停靠功能 133
自动改变大小 141
自动缩放 142
4.3 布局控件 145
分隔控件 146
分组 147
流式布局 148
TableLayoutPanel 151
4.4 布局优化 153
4.5 自定义布局 154
4.6 本章小结 155
第5章 绘图基础功能 157
5.1 绘制到屏幕上 157
处理Paint事件 158
触发Paint事件 159
5.2 颜色 161
预定义颜色 163
颜色转换 165
5.3 画刷 165
实颜色画刷 166
纹理画刷 166
模式画刷 167
线性渐变画刷 168
路径渐变画刷 170
5.4 画笔 172
线的帽子 174
虚线 175
笔对齐 176
连接点 177
从画刷创建画笔 178
5.5 形状 178
曲线 179
光滑模式 180
保存和恢复图形对象的设置 181
5.6 路径 182
填充模式 185
5.7 图像 185
加载和绘制图像 186
缩放、裁剪、移动和倾斜图像 187
旋转和翻转 189
重新着色 190
透明 191
动画 192
绘制到图像中 195
屏幕拷贝 197
图标 197
鼠标指针 199
5.8 本章小结 202
第6章 绘制文本 203
6.1 字体 203
创建字体 205
字体字样组 206
系统字体 208
字体特性 209
字体高度 211
6.2 字符串 213
格式设置 213
字符串和路径 220
6.3 TextRenderer类 221
使用TextRenderer实现格式设置 223
6.4 两种技术的总结 225
外壳一致性 225
国际化 227
设备无关的绘制 228
字体边界光滑功能支持 229
性能 230
与GDI+图形绘制集成 230
文本格式比较 230
集成 232
6.5 本章小结 233
第7章 高级绘图功能 235
7.1 页面单位 235
将像素转换为页面单位 238
7.2 转换 239
缩放 240
缩放字体 241
旋转 241
变换 243
Shearing 244
组合转换 245
变换帮助器 246
路径变换 247
7.3 区域 248
构造和填充区域 249
区域剪裁 250
区域组合操作 251
7.4 优化绘图操作 251
双缓冲技术 253
手工双缓冲技术 254
双缓冲技术的性能考虑 257
其他绘制选项 257
7.5 本章小结 258
第8章 打印 259
8.1 打印文档 259
8.2 打印控制器 261
打印预览 262
PrintPreviewDialog控件的控制框图标 264
8.3 基本打印事件 265
8.4 边距 268
8.5 页面设置 271
8.6 打印机设置 274
打印范围 276
选择打印机 279
8.7 有用的打印技术 280
单词折行和分页 281
基于每个页面的页面设置 285
动态页面计数 287
8.8 本章小结 289
第9章 组件 291
9.1 组件的定义 291
9.2 使用组件 292
9.3 创建自定义组件 295
直接从System.ComponentModel.Component继承 295
组件资源管理 297
实现IComponent接口 300
向工具箱添加自定义组件 305
自定义功能 306
扩展现存的组件 311
9.4 本章小结 312
第10章 控件 313
10.1 控件的定义 313
10.2 使用控件 314
10.3 主题化控件 316
工具条绘制模式 317
10.4 自画控件 321
ControlPaint类 324
主题样式控件绘制技术 326
10.5 扩展现存的控件 328
10.6 自定义控件 329
直接从System.Windows.Forms.Control派生 329
控件绘制 330
自定义实现 332
EventChanged 334
环境属性 336
控件输入功能 339
滚动 345
Windows消息处理 347
10.7 用户控件 349
测试用户控件 350
10.8 承载COM控件 352
10.9 本章小结 353
第11章 设计期集成:属性窗口 355
11.1 设计期组件 355
11.2 宿主、容器和站点 356
11.3 调试设计期功能 359
11.4 DesignMode属性 360
11.5 特性 361
修改工具箱图标 361
属性窗口集成 362
11.6 代码序列化 368
11.7 批量初始化 369
ISupportInitializeNotification 373
11.8 扩展器属性提供者 375
11.9 类型转换器 381
自定义类型转换器 383
可扩展对象转换器 388
使用TypeConverters执行自定义类型代码序列化 391
11.10 用户界面类型编辑器 394
下拉风格用户界面类型编辑器 396
模式用户界面类型编辑器 399
11.11 本章小结 402
第12章 设计期集成:设计器和智能标签 403
12.1 设计器 403
ComponentDesigner 405
ControlDesigner类 409
只在设计期才用到的属性 411
12.2 智能标签 414
设计器动作 414
设计器动作列表 415
智能标签属性 416
智能标签方法项 425
乏味的智能标签面板外观 428
自定义智能标签面板的外观 430
给快捷菜单添加智能标签方法项 438
切换智能标签项的标签文本 439
设计器动作列表 442
动态的设计器动作 443
12.3 本章小结 447
第13章 资源 449
13.1 资源基础 449
清单资源 450
13.2 强类型资源 454
应用程序资源文件(.resx) 454
管理资源 456
资源的持久化保存 459
使用强类型资源 460
资源管理器 463
强类型资源类 465
设计器资源 468
嵌入原生资源 471
13.3 应用程序国际化 472
文化信息 473
资源本地化 474
非开发人员的资源本地化 478
资源查找 480
资源解析 482
输入语言 483
阅读方向 485
13.4 本章小结 486
第14章 应用程序 487
14.1 应用程序 487
应用程序生命周期 489
应用程序上下文 490
应用程序事件 492
用户界面线程异常 493
传递命令行参数 496
14.2 单实例应用程序 497
单实例检测和管理 498
多窗口SDI应用程序 500
单实例MDI应用程序 508
14.3 本章小结 513
第15章 设置 515
15.1 应用程序环境 515
编译期设置 515
运行时设置 518
15.2 应用程序设置信息、用户设置信息和漫游用户设置信息 524
设置的定义 524
设置文件 525
管理设置 526
编辑设置项 526
应用程序配置文件 530
配置管理器 532
用户配置文件 535
15.3 强类型设置 537
15.4 使用强类型设置 539
使用Settings类 539
装载和检查设置 540
更新设置 542
保存设置 543
回滚设置 544
移植设置 545
15.5 使用设计器来管理设置 549
属性窗口配置 549
属性绑定 551
持久化保存窗体的状态、大小和位置 554
支持工具条的自动布局 555
15.6 其他的设置存储方式 557
注册表 557
特殊文件夹 559
15.7 本章小结 560
第16章 数据绑定基础 561
16.1 数据绑定基础知识 561
16.2 简单数据绑定和项数据源 566
16.3 简单绑定和列表数据源 568
16.4 复杂绑定和列表数据源 572
16.5 IBindingList接口 576
16.6 BindingList<T>类 577
双向的列表变更同步 578
双向的项变更同步 580
16.7 BindingSource组件 581
将项类型转变为列表数据源 581
在设计期使用BindingSource 583
16.8 设计期数据源 584
数据库 585
Web服务 588
对象 590
配置BindingSource组件 592
数据源持久化保存 595
16.9 在设计器中绑定用户界面元素 596
作为可绑定列表数据源的BindingSource组件 596
16.10 本章小结 606
第17章 应用数据绑定 607
17.1 拖放式数据绑定 607
DataGridView绑定用户界面 608
明细绑定用户界面 610
17.2 数据绑定用户界面基础 611
项用户界面 611
列表用户界面 625
17.3 数据视图 634
17.4 实际的数据绑定用户界面 639
主/明细式用户界面 639
列表/项用户界面 644
层次结构用户界面 649
多个数据上下文 651
类型转换器 653
17.5 本章小结 656
第18章 多线程用户界面 657
18.1 长时间运行的操作 657
进度标识 657
异步操作 660
安全性和多线程 663
简化的多线程 669
报告进度 671
共享数据 680
18.2 异步Web服务 683
Web服务组件 687
18.3 本章小结 690
第19章 ClickOnce部署 691
19.1 实现ClickOnce部署的步骤 692
发布应用程序 693
启动应用程序 697
19.2 ClickOnce配置 700
自启动程序 701
应用程序文件 704
发布者细节 705
安装模式 707
版本控制 708
19.3 ClickOnce安全性 711
代码签名 712
代码访问安全机制 720
19.4 管理权限 725
决定所需的权限 725
检查所需的权限 727
19.5 部分信任程序集的注意事项 728
收集程序集信息 728
处理按键 729
通过Web服务通信 730
读取和写入文件 733
处理多个部分信任部署区域的情况 734
调试部分信任应用程序 735
19.6 处理命令行参数 735
19.7 本章小结 738
附录A Windows Forms 2.0的新增功能 739
A.1 关于Windows Forms的几句话 739
A.2 Windows Forms 2.0的增强功能 740
A.3 Windows Forms 2.0的改进功能 742
绘制 744
打印 745
组件和控件 745
设计期集成 746
资源 747
应用程序 748
设置 748
数据绑定 750
多线程用户界面 751
ClickOnce部署 752
附录B 从MFC转移到Windows Forms 753
B.1 关于MFC的一席话 753
B.2 MFC与Windows Forms的对比 755
区别 757
战略 762
B.3 MFC与Windows Forms互操作 763
在Windows Forms中承载MFC COM控件 763
在MFC中承载Windows Forms控件 765
B.4 Windows Forms是更好的MFC 769
附录C 委托和事件 773
C.1 委托 773
接口 774
委托 775
静态监听者 777
C.2 事件 777
收获所有结果 778
异步通知:执行并继续 779
异步通知:轮询 780
异步通知:委托 780
C.3 匿名委托 781
C.4 整个世界的幸福 782
附录D 组件和控件概览 785
D.1 组件 785
BackgroundWorker 785
BindingNavigator 785
BindingSource 785
ColorDialog 786
ErrorProvider 786
FolderBrowserDialog 786
FontDialog 786
HelpProvider 786
ImageList 786
NotifyIcon 787
OpenFileDialog 787
PageSetupDialog 787
PrintDialog 787
PrintDocument 788
PrintPreviewDialog 788
SaveFileDialog 788
SoundPlayer 788
Timer 788
Tool Tip 789
D.2 控件 789
Button 789
CheckBox 789
CheckedListBox 790
ComboBox 790
ContextMenuStrip 791
DataGridView 791
DateTimePicker 791
DomainUpDown 792
FlowLayoutPanel 792
GroupBox 792
HScrollBar 792
Label 793
LinkLabel 793
ListBox 794
ListView 795
MaskedTextBox 796
MenuStrip 796
MonthCalendar 796
NumericUpDown 797
Panel 798
PictureBox 798
PrintPreviewControl 798
ProgressBar 798
RadioButton 799
RichTextBox 799
SplitContainer 800
StatusStrip 800
TabControl 800
TableLayoutPanel 800
TextBox 800
ToolStrip 801
ToolStripContainer 801
TrackBar 801
TreeView 801
VScrollBar 802
WebBrowser 803
附录E 拖放功能 805
E.1 启用拖放功能 805
拖动源 805
放置目标 806
放置目标和COM 809
运行中的拖放操作 810
E.2 添加对多种拖放效果的支持 811
向拖动源添加多种拖放效果 811
向放置目标添加多种拖放效果 812
E.3 自定义拖放操作 814
使用自定义鼠标指针 814
控制拖放操作的结束 816
E.4 拖放多个数据项 817
拖动多个ListView项 818
资源管理器风格的用户界面的一部分 818
启动一个拖动操作 822
运行中的拖动操作 823
完成拖动操作 826
E.5 文件拖放操作 827
附录F 文档管理 829
F.1 FileDocument组件 833
脏位管理 833
文件管理 834
处理File菜单项 836
MDI和FileDocument组件 838
F.2 外壳集成 841
与外壳集成 841
文档图标 842
Start | Documents菜单 844
F.3 MruMenuManager组件 845
获得MRU菜单 846
配置MRU菜单的外观 847
添加文件到MRU菜单中 849
打开MRU文件 850
在应用程序会话之间持久保存MRU菜单 851
MruMenuManager和MDI应用程序 852
F.4 通过从外壳拖放文件来打开文件 853
参考资料 857
索引 861
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

这本书的选材角度非常独特,它似乎是专门为那些需要在保持老旧系统兼容性的同时,又必须引入现代化特性的工程师量身定做的。书中有一部分内容专门讨论了如何将WinForms应用程序与现代Web服务(如RESTful API)进行无缝集成,这在当时(以及现在很多遗留系统)是非常紧迫的需求。它详细介绍了如何使用异步编程模型(APM或后来的TAP)来调用远程服务,同时保证UI线程的流畅性,避免了用户操作界面假死的问题。让我印象深刻的是,书中提供了一个完整的示例,展示了如何将自定义的报表控件嵌入到WebBrowser控件中进行预览,并实现了双向通信。这不仅仅是API调用的介绍,更是一种跨技术栈整合的思路指导。很多技术书籍在集成新技术时往往只是停留在概念层面,但这本书的作者却给出了大量的C#代码片段和详细的配置步骤,真正做到了可执行、可复现。它确实帮助我解决了一个头疼已久的跨平台数据展示难题,体现了极强的实操价值。

评分

初次接触《Windows Forms 2.0程序设计》这本书,我其实是抱着一种试试看的心态的。我当时的项目急需解决一些棘手的界面渲染问题,而市面上大多数新书都聚焦于WPF或者更新的技术栈,对经典的WinForms 2.0框架着墨不多,有的也只是泛泛而谈。这本书的篇幅和内容的详实程度,首先给了我一个强烈的“厚重感”。它没有一上来就抛出晦涩难懂的理论,而是从最基础的控件生命周期、事件驱动模型讲起,循序渐进地深入到数据绑定和自定义控件的绘制。尤其是书中关于GDI+绘图部分的解析,细致到了像素级的操作说明,这对于需要高度定制化用户界面的开发者来说,简直是如获至宝。我记得我花了整整一个周末,跟着书中的示例代码,成功地将一个原本卡顿的列表控件优化到了接近毫秒级的响应速度。书中对线程安全问题的讨论也极其到位,避免了许多在多线程环境下进行UI操作时常见的死锁和异常抛出。这本书更像是老一辈资深工程师的经验总结,务实、扎实,绝不浮夸,它帮你打下了坚不可摧的UI编程基础,而不是教你如何快速堆砌漂亮的表面功夫。对于那些深耕于维护现有复杂WinForms系统的技术人员而言,它绝对是工具箱里不可或缺的“大锤”。

评分

这本书给我的感觉,更像是一本详尽的“故障排除手册”,而非传统意义上的“入门教程”。我之所以这么说,是因为它花了大量的篇幅去剖析那些在实际项目中经常被忽视,但一旦出现就足以让人焦头烂额的“疑难杂症”。例如,关于MDI(多文档界面)的内存泄漏排查,书中的章节没有停留在标准实现上,而是深入探讨了资源回收机制在复杂父子窗口结构中的具体表现,甚至给出了一套基于性能监控工具的诊断流程。这种处理问题的深度,远超出了普通教材的范畴。我个人对其中关于自定义消息泵和消息过滤器的讲解印象尤为深刻。在尝试拦截系统级的键盘快捷键冲突时,我原先的方案总是半途而废,但通过书中提供的基于`IMessageFilter`接口的精确控制方法,我终于能够隔离并处理特定窗口的输入事件,确保了核心业务逻辑不受干扰。坦白讲,阅读这本书需要一定的耐心和一定的实践经验作为铺垫,如果完全是编程新手,可能会觉得有些吃力,但对于那些渴望将“能用”的程序提升到“健壮”层级的开发者来说,这本书的价值是无可估量的。它教会你如何像外科医生一样精确地介入到.NET运行环境的底层交互中去。

评分

要评价这本《Windows Forms 2.0程序设计》,我必须提到它在用户体验(UX)细节打磨上的深度。在很多UI编程书中,用户体验往往只是一个附加的、美化性质的章节。然而,在这本书中,对“用户感知”的关注贯穿始终。比如,关于输入焦点管理、键盘导航的优化,以及如何设计有效的错误提示和用户反馈机制,都有专门且深入的探讨。书中关于“认知负荷最小化”的章节,通过调整控件布局的层次感和信息密度,指导读者如何设计出更“自然”的交互流程。我尤其欣赏作者对于“可访问性”(Accessibility)标准的重视,详细讲解了如何正确设置控件的`AccessibleName`和`TabIndex`,以确保残障用户也能顺畅使用应用程序。这在那个年代,许多开发者还停留在“界面能动就行”的阶段时,这本书已经将目光投向了更广阔的、体现软件专业素养的领域。它教给我的不仅仅是编程技巧,更是一种对最终用户负责任的开发理念,这份深刻的体会,是许多速成手册无法给予的。

评分

令我感到惊喜的是,这本书在企业级应用架构方面也提供了不少真知灼见。我们都知道,WinForms的UI层与业务逻辑层(BLL)和数据访问层(DAL)的耦合度是早期开发中普遍存在的问题。这本书并没有回避这个矛盾,反而用大量的篇幅论述了如何通过合理设计“模型-视图-表示器”(MVP)或轻量级的MVC模式来解耦UI。书中提供的关于数据源更新和状态同步的策略,尤其是在处理大量数据的异步加载时,表现得非常成熟和高效。它不仅告诉你“该怎么做”,更阐述了“为什么这样做比其他方法更好”,这种理论与实践相结合的论证方式极大地提升了我的架构思维。我特别欣赏它对设计模式在特定场景下适用性的讨论,例如,何时使用工厂模式创建不同的皮肤控件,何时使用观察者模式同步状态,讲解得鞭辟入里。这本书的结构安排非常清晰,每一章都像是在搭建一座更宏伟的软件大厦的不同楼层,从地基(基础控件)到承重墙(数据流),再到精装修(高级交互),逻辑递进性极强,读完后感觉对整个应用框架的掌控力有了质的飞跃。

评分

一本关于WinForm的大全,如果在几年前做WinForm开发的时候看到这本书,也许情况会很不一样。

评分

一本关于WinForm的大全,如果在几年前做WinForm开发的时候看到这本书,也许情况会很不一样。

评分

一本关于WinForm的大全,如果在几年前做WinForm开发的时候看到这本书,也许情况会很不一样。

评分

一本关于WinForm的大全,如果在几年前做WinForm开发的时候看到这本书,也许情况会很不一样。

评分

一本关于WinForm的大全,如果在几年前做WinForm开发的时候看到这本书,也许情况会很不一样。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有