书籍详情
Microsoft Windows程序设计:Visual Basic .NET语言描述
作者:(美)Charles Petzold著;章立民译;章立民译
出版社:华中科技大学出版社
出版时间:2004-05-01
ISBN:9787560931425
定价:¥118.00
购买这本书可以去
内容简介
CharlesPetzold是全球最权威且知名的Windows程序设计专家,他将其最畅销ProgrammingMicrosoftWindowswithC#一书加以改写,使之能完全适用于VisualBasic.NET的开发人员。这位畅销书的作家示范了如何使用VisualBasic.NET将WindowsForms的功能发挥到极致(WindowsForms是新一代的Windows程序设计类库)。您将学习如何使用VisualBasic的.NET版本替Windows应用程序建立动态的用户界面与图形化输出。通过丰富的用户端应用程序范例清楚示范了最常用的技术与不为人知的技巧,有了本书,您能真正深入到VisualBasic.NET的核心领域。本书是笔者的著作"ProgrammingMicrosoftWindowswithC#"到MicrosoftVisualBasic.NET的转换版本。这两本书除了示例编程代码之外基本上是相同的。两本书皆在展示如何在MicrosoftWindows之下撰写程序。有许多方法来撰写此类程序。在这两本书中,笔者使用一个称为WindowsForms的新类库。WindowsForms类库是Microsoft.NETFramework的一部分,.NETFramework的概念是于2年夏天首次提出并于一年半之后正式问世的。.NETFramework是提供程序员撰写Intemet、Web、与Windows应用程序所需的类扩展集合。.NET的许多媒体范围集中于Web编程。本书则是讨论.NET的其他部分。您可以使用WindowsForms撰写传统独立的WindowsForms应用程序(此类应用程序有时被称为客户端应用程序或分布式应用程序的前端)。WindowsForms几乎提供了撰写全方位Windows应用程序所需的所有功能。其最大疏忽就是多媒体支持,甚至没有任何WindowsForms功能能够让电脑的喇叭发生哔哔的声响。笔者曾经尝试去撰写自己的多媒体类,不过后来还是克制下来,因为笔者心理假设(希望这是合理的假设)下一个版本的WindowsForms会内含灵活、强大且易于使用的多媒体支持。定义于.NETFramework中的类是跨语言的。在发表.NETFramework时,Microsoft也发布了可以使用这些类的VisualBasic与C++新版本以及全新的编程语言C#。其他程序语言的厂商正在修改它们自己的程序语言使其能够使用.NET类。.NET的跨语言特性是由公共语言规范(CLS)所促成的,CLS文档是描述使用.NETFramework的编程语言需要具有哪些特性。针对.NET所设计的编译器一般会将源代码转换成位于.exe文件中的一个中间语言(IntermediateLanguage)。在运行:时,中间语言会被.NET公共语言运行库(CLR)编译成适当的微处理器机器码。因此,NETFramework可以说是跨平台的。WindOWS与BaSiCMicrosoft公司在1985年的秋天首度发表Windows的第一个版本。自此开始,Windows就不断地更新与增强,在WindowsNT(1993年)与Windows95(1995年)中更是做了显著地改进,其中最重要的变革就是使Windows从16位架构迈向32位架构。当Windows首次发布时,实际上只有一种方法来撰写Windows应用程序,也就是通过使用C编程语言来访问Windows应用程序接口(An)。虽然也能够使用MicrosoftPascal来访问WindowsAPl,不过很少使用此方法。几年来,许多其他的程序设计语言也都顺势调整以便能够进行Windows编程。在1991年,Microsoft公司发布用于Windows的VisualBasic1.,此一革命性的产品允许程序员通过将控件拖放至窗体上来交互式地设计应用程序。VisualBasic1.提供了一种比C程序员所使用的API更高级的编程界面。VisualBasic在接下来的数年持续演进直到1998年推出VisualBasic6.为止。VisualBasic.NET代表从VisualBasic6.以来的变革(在语言本身并没有太大改变),大部分仍然继续沿用,但是在程序与Windows交互的编程界面上则有长足进步。在VisualBasic.NET中,此界面是由实现于.NETFramework中的类库所提供的。用户要求欲最有效地使用本书,您需要能够编译与运行VisualBasic.NET程序。欲编译这些程序,您需要一个VisualBasic.NET编译器。欲运行这些程序,您需要.NET运行库(也称为公共语言运行库,CLR),CLR是动态链接库的一个集合。这两个项都已内含于称为MicrosoftVisualBasic.NET的软件产品中,它是一个现代化的集成开发环境。另外,您可以购买更完整广泛也更昂贵的MicrosoftVisualStudio.NET,除了VisualBasic以外,它还能够让您使用C++与C#来撰写程序。如果您喜爱较简单的做法,可以下载免费的.NETFramework软件开发工具包(SDK)。此下载内含一个命令行的VisualBasic.NET编译器与.NET运行库。首先,请到网站http://msdn.microsoft.com/downloads,然后从左侧选取SoftwareDevelopmentKits,并找到.NETFrafneworkSDK。您或许需要选择.NETFrameworkRedistributable页面然后在那里找到一个链接(请牢记,此Web站点与本书所提及的其他所有Web站点一样,都会经常变更、移动甚至完全消失)。笔者撰写本书时系假设您至少了解如何在较早版本的VisualBasic中撰写程序,而且假定您对面向对象语言的概念非常熟悉。笔者在第1章花了许多功夫让您了解VisualBasic.NET的新特性。笔者在本书中有时候会引用WindowsAPI。您可以阅读笔者的另外一本著作"ProgrammingWindows"(微软出版社于1998年出版,第五版)学习更多有关WindowsAPl的知识。正如笔者在前节所提,欲最有效地使用本书,您需要会编译与运行VisualBasic.NET程序。系统要求列示如下:●Microsoft.NETFrameworkSDK(最小需求);MicrosoftVisualBasic.NET或MicrosoftVisualStudio.NET(建议需求)。●MicrosoftWindowsNET4.、Windows2或WindowsXP。欲在其他电脑上运行您的VisualBasic.NET程序,这些电脑必须安装.NET运行库(即.NETFramework可重新发布包)。该包内含于.NETFrameworkSDK、VisualBasic.NET与VisualStudio.NET中。可重新发布包可安装于刚刚所提过的Windows版本以及Windows98与WindowsMe中。正如我们稍后所会讨论的,本书的范例文件可以自微软出版社网站下载。如果您要将它们安装于硬盘中,需要大约3.5MB的额外硬盘空间(如果全部加以编译,这些范例所占用的空间将会超过13MB)。本书的编排当Windows1.首次发布时,整个API是实现于3个名称为KERNEL(核心调用)、USER(用户)与GDI的动态链接库中。虽然这些与Windows关联的DLL已经变得非常庞大,但是若将Windows函数调用(或框架类)区分成这3类仍然是非常有用的。核心调用就是那些实现于操作系统的架构内部中者,而且一般会与任务、内存管理以及文件I/O有关。术语用户是指用户界面。这些是用来建立窗口、使用菜单与对话框以及显示按钮与滚动条等控件的函数。GDI是图形设备接口(GraphicsDevicelnferface),它是Windows用以负责在屏幕与打印机上显示图形输出(包括文本在内)的部分。本书先从4个介绍性的章节开始。从第5章(说明如何绘制直线与曲线)开始并持续至第24章(主要介绍Windows剪贴板),这些章节将会在图形主题(奇数章节)与用户界面主题(偶数章节)之间交替。一般来说像本书这样的书籍并不会花费太多时间与篇幅来介绍非Windows主题,例如:文件I/O、浮点数运算与字符串处理。然而,因为.NETFramework非常新,笔者发现自己期望能在这些类上有前后连贯的说明。因此笔者自己撰写了这样的说明。它们会内含于文件、数学与字符串的3个附录中。您可以在读完第1章之后,在需要了解它们的任何时候参考这些附录。笔者试着去编排这些章节的先后顺序(以及各章中主题的顺序)以使每个主题循序渐进,而让"向前引用"的次数降至最低。笔者将本书撰写成可以很自然地一路读下去,就好比在阅读TheStand或TheDeclineandFallOftheRomanEmpire一样。当然,如果像本书这么多篇幅的书籍能够当作参考书籍来查阅也是很不错的。出于此原因,许多使用于WindowsForms程序设计中的重要方法、属性与枚举皆会在讨论它们时列于表格中。然而,即使是本书这样篇幅的书籍也无法彻底讨论到WindowsForms中的所有技术知识。本书不能取代Microsoft官方的类文档。WindowsForms程序需要费一番功夫学习,为了帮助学习,本书内含丰富且完整的范例程序。您可以自行将这些程序中的代码片断粘贴至程序中(这也正是这些范例程序的主要目的),但是请不要随意分布这些程序或其中的代码。如同在VisualBasic的早期版本中,VisualBasic.NET允许互动式地设计应用程序的外观。您可以将不同的控件(如按钮和滚动条等)放置在窗口的表面上,而,VisualBasic.NET会自动生成代码。虽然这样的技术在设计对话框与前端面板类型的应用程序时非常有用,但是本书将不采用VisualBasic.NET的此项特性。在本书中,我们不会让VisualBasic.NET替我们生成代码,我们将学习如何自行撰写所有的代码。支持本书的范例程序可以从出版社网站http://www.microsoft,com/mspress/books/6259,asp下载(笔者个人的网站http.'//www,charlespetzold,com也有一个该网页的链接)。您可以将解决方案文件(.sln)或项目文件(.vbpr~)下载至VisualBasic.NET中并重新编译这些程序。我们已经竭尽所能来确保本书与源代码内容的正确性,微软出版社会通过如下网址的全球信息网来提供本书的勘误:http://www.microsoft,com/mspress/support/欲直接连接至微软出版社知识库并输入您的问题或结论,请访问:http.'//www,microsoft,com/mspress/support/search,asp如果您对本书有任何建议,问题或想法,请使用下列方式将它们传送至微软出版社:邮寄:MicrosoftPressAttn:ProgrammingMicrosoftWindowswithMicrosoftVisualBasic.NETEditorOneMicrosoftWayRedmond,WA9852-6399电子邮件:MSPINPUT@MICROSOFt.COM请注意以上邮件地址并不提供产品支持。要获得关于VisualBasic.NET,VisualStudio.NET或.NETFramework的支持信息,请访问Microsoft产品支持Web站点:http://www.microsoft.com如何转换一本书笔者在21年的11月完成了ProgrammingMicrosoftWindowswithC#。在22年2月初,微软出版社询问我是否有兴趣将本书转换成VisualBasic.NET。我认为这是个蛮有趣的计划,因此立即同意这么做。本项目的第一个工作是撰写一个程序(以C#撰写)将书中的C#程序转换成VisualBasic.NET。C#这本书含有3个以上的源代码文件,因此我知道不可能将此工作全部自动完成,VisualBasic.NET这本书显然要花很长的时间来完成。我的第1个转换程序是一个片段,草率而且是特别针对我的C#编程风格设计的,忽略了我未曾使用过的程序语言特性。一个星期后,我决定重新撰写它,但是在那之前它已成功地转换了95%的代码,所以我决定通过"查找"与"替换"操作的协助手动转换其余的部分。C#是一个区分大小写的编程语言,而且在范例程序中笔者也确实使用此特性来命名变量。比方说,如果我只拥有一个Font类型的对象,我会将它命名为font。起初我假设VisualBasic.NET(不会区分大小写的编程语言)不容许这样的事情,但是我错了。编译器接受一个名称为font的对象。然而,如果font在一开始没有正确定义,VisualBasic.NET编辑器会通过将第一个字母改成大写来修正它以便使其符合Font类!为了避免造成不习惯程序语言会区分大小写的程序员会混淆,我决定不将类名称复制于对象名称。我的字体对象会成为fnt对象,而且在此过程中,我认为本书在对象命名方面已比C#那本书具有更高程度的一致性。我遇到的VisualBasic.NET是否有功能不足之处呢?其实非常少。在C#中,算术运算符(+、一等等)与比较运算符(等等二可以被结构与类重载。例如,可以使用一般的加号来相加Size对象。但在VisualBasic.NET中,必须使用op_addition方法。有类似的方法用于比较对象与转换它们。VisualBasic.NET中不带正负号整数的缺乏很少影响代码的转换。笔者在第12章的HexCalc程序中使用一个不带正负符号的长整数,但是它可以很容易就修改成带正负号的长整数。HexCalc程序中比较严重的问题是使用C#符号来标示计算机的按钮。进行类似这样的转换很容易就显现出两种程序语言间非常有趣的不同点。例如,在C#中,方法默认是专用的;而在VisualBasic.NET中,默认是公用的。哪一个的做法较好着实让笔者思量了好一会儿,结论是各有利弊。方法应被默认保护的。应该有一个理由(以及一个关键字)来使特定的方法是共用的或专用的。在本书的文本部分。笔者用标签笔动手处理了ProgrammingMicrosoftWindowsWithithC#热销的副本,标出了笔者能发现的每个很小的C#关键字、代码片段和以C#为中心的概念。为了转换本书中许多方法的表格,笔者撰写了一个VBScript。虽然它没有办法完完全全地正确运作,但是也让工作简化了不少。MicrosoftWord文件的其他变更则是手动完成,使用全局搜索只是为了再次检查笔者的人工努力(最常用的单一项需要改变吗?C#的static关键字会成为Shared)。本书有一些需要改变的地方起初并不明显。正如您所见到的,当翻阅本书的各页时,您会发现有许多属性的表格。在笔者最初替C#这本书设计这些表格的格式时,我是将属性的类型摆在第一列并将属性本身摆在第二列。这是C#程序员在源代码中所看到的顺序。但是这并不是VisualBasic.NET程序员所会见到的。因此这些表格的前两列必须对调以便先显示出属性名称,然后才是类型。我的编辑与我是否已从本书去除掉所有C#的痕迹呢?我们不敢完全保证。就在前几天(在我同意本书付梓之前最后一次校对章节与附录时)我就发现了一个分号(C#使用分号作为语句的结尾)与双斜线(C#的注解符号)。希望不会有太多类似之处逃过我的搜索。在.NET发表之前,将一个C或C++Windows编程书籍转换成VisualBasic可说是不可思议的。这都要归功于公共语言规范(CLS)与.NETFramework,它们确实使得此项转换工作更加顺畅。Microsoft公司确实也创造出一个系统,那就是编程语言的选择完全只是个人的喜好而已。
作者简介
CharlesPetzold1994年5月,Petzold作为仅有的七个人之一(并且是唯一的作家)被《WindowMagazine》和Microsoft公司授予WindowsPioneer奖,以表彰他对MicrosoftWindows的成功做出的贡献。CharlesPetzold从1984年开始编写个人计算机程序,从1985年开始编写MicrosoftWindows程序。他在《MicrosoftSystemsJoumal》1986年12月号上发表了第一篇关于Windows程序设计的杂志论文。从1986年到1995年,他为《PCMagazine》撰写“Environments”专栏,给读者介绍了Windows和OS/2程序设计的许多方面。>>更多作品章立民·资深电脑图书作家,拥有60本以上著作。·台湾微软公司资深顾问讲师。从1993年开始于台湾微软主讲研讨会。·台湾微软最有价值专家MVP。三度当选MVP。·电脑技能基金会数据库应用类命题委员。·台湾工研院机械所制造信息部顾问·台湾资诚会计师事务所信息系统服务部顾问·台湾捷和建设资讯部顾问·台湾盘天科技总经理·台湾盘天科技顾问·台湾一日志工协会资讯顾问·《ComputerDIY》杂志专栏作家·《RUN!PC》杂志专栏作家·曾任教于台湾空中大学、联电、药物食品检验局、调查局、南亚塑胶、NIKE、台湾核电一厂、大众电脑、台湾日立等台湾各大公民营企业与教学机构,乃台湾最权威之专业咨询顾问与讲师。·专长:关系型数据库管理系统、VisualStudio2005开发工具、SQLServer、Access2003与FrontPage2003。将有全系列书籍问世,敬请诸位读者关注。·著作:写作迄今,16年来已有60本以上的电脑著作问世,内容涵盖SQLServer2000、VisualBasic.NET、ASP.NET、CrystalReportforVisualStudio.NET、Access2002~2003、FrontPage2002~2003、VisualFoxPro、WordVBA、Windows等主题。Access2003:用150个范例学查询>>更多作品
目录
第1章 控制台本身
1.1 控制台的返回
1.2 程序的剖析
1.3 .NET命名空间
1.4 字符串格式化
1.5 VisualBasic数据类型
1.6 对象
1.7 共享方法
1.8 异常处理
1.9 引发异常
1.10 获取与设置属性
1.11 构造函数
1.12 实例与继承
1.13 更宏观的角度
1.14 命名约定
1.15 结束语
第2章 WindOWS Forms
2.1 消息框
2.2 窗体
2.3 显示窗体
2.4 我们要运行的应用程序
2.5 主题的演变
2.6 窗体属性
2.7 事件驱动的输入
2.8 处理Paint事件
2.9 显示文本
2.10 字体
2.11 笔刷
2.12 坐标点
2.13 特殊的Paint事件
2.14 多个窗体,多个处理程序
2.15 继承窗体
2.16 OnPaint方法
2.17 模块的必要性
2.18 事件与“On'’方法
第3章 基本结构
3.1 类与结构
3.2 维坐标点
3.3 坐标点数组
3.4 Size结构
3.5 浮点版本
3.6 Rectangle是Point禾口Si2e
3.7 Rectangle结构的属性与方法
3.8 大小合适的窗体
3.9 窗体与工作区
3.10 坐标点转换
3.11 Color结构
3.12 141个颜色名称
3.13 画笔与笔刷
3.14 系统颜色
3.15 己知的颜色
3.16 笔刷的选择
3.17 了解重绘操作
3.18 使文本显示在中央位置
3.19 测量字符串
3.20 矩形区域中的文本
第4章 文本输出练习
4.1 系统信息
4.2 文本行间距
4.3 属性值
4.4 格式化为列
4.5 对象的普遍性
4.6 列出系统信息
4.7 WindowsForm与滚动条
4.8 滚动面板控件
4.9 ScrollableControl的继承
4.10 没有控件的滚动
4.11 实际的数值
4.12 保持更新
4.13 技巧
4.14 反射未来
第5章 直线、曲线与区域填充
5.1 如何取得Graphics对象
5.2 画笔简介
5.3 直线
5.4 打印简介
5.5 属性与状态
5.6 反锯齿
5.7 多条连接线
5.8 曲线与参数方程式
5.9 无所不在的矩形
5.10 一般的多边形
5.11 更简单的椭圆形
5.12 弧形与扇形
5.13 填充矩形、椭圆形与扇形
5.14 减1
5.15 多边形与填充模式
第6章 驾驭键盘
6.1 忽略键盘
6.2 取得输入焦点的对象
6.3 按键与字符
6.4 按下与放开按键
6.5 Keys枚举类型
6.6 测试修改键
6.7 实际检测
6.8 Syslnfo的键盘接口
6.9 字符的KeyPress事件
6.10 控制字符
6.11 查看按键
6.12 调用Win32APl
6.13 使用外国键盘处理输出
6.14 输入焦点
6.15 遗漏的插入号
6.16 响应按键字符
6.17 由右到左的问题
第7章 页面与转换
7.1 通过文本的设备无关性
7.2 像素与实际量度之间的关系
7.3 每in的点数
7.4 打印机上每in的点数
7.5 手动转换
7.6 页面单位与页面缩放
7.7 画笔宽度
7.8 页面转换
7.9 保存图形状态
7.10 公制尺寸
7.11 任意坐标
7.12 页面转换无法做到的
7.13 自然转换
7.14 大图片
7.15 线性转换
7.16 矩阵简介
7.17 Matrix类
7.18 分歧与类似分歧
7.19 将转换组合起来
第8章 操纵鼠标
8.1 鼠标的缺点
8.2 忽略鼠标
8.3 一些基本定义
8.4 与鼠标相关的信息
8.5 鼠标滚轮
8.6 4个基本的鼠标事件
8.7 使用鼠标滚轮
8.8 鼠标移动
8.9 跟踪与捕捉鼠示
8.10 跟踪的风险
8.11 单击与双击
8.12 与鼠标相关的属性
8.13 进入、移出与停留
8.14 鼠标指针
8.15 点击测试的练习
8.16 添加键盘接口
8.17 让子控件工作
8.18 点击测试文本
8.19 使用鼠标涂鸦
第9章 文本与字体
9.1 Windows下的字体
9.2 话说铅字
9.3 字体高度与行间距
9.4 默认字体
9.5 字体的变化
9.6 以名称来建立字体
9.7 基于任何其他名称的点大小
9.8 单位的冲突
9.9 字体属性与方法
9.10 来自字体家族的新字体
9.11 了解设计度量
9.12 字体家族的数组
9.13 字体集合
9.14 DrawString的变量
9.15 文本反锯齿功能
9.16 测量字符串
9.17 StringFormat选项
9.18 网格调和与文本调和
9.19 水平对齐与垂直对齐
9.20 热键显示
9.21 裁剪与修剪
9.22 定位点
第10章 计时器与时间
10.1 Timer类
10.2 DateTime结构
10.3 本地时间与国际时间
10.4 间隔计数
10.5 全世界所使用的历法
10.6 清晰易懂的诠释
10.7 一个简易的区域特定时钟
10.8 数字时钟
10.9 模拟时钟
10.10 一个称为JeudeTaquin的拼图游戏
第11章 图像与位图
11.1 位图支持概述
11.2 位图文件格式
11.3 载入与绘制
11.4 图像信息
11.5 呈现图像
11.6 容纳于一个矩形区域中
11.7 旋转与修剪
11.8 图像的部分显示
11.9 在图像上绘图
11.10 更深入Image类
11.11 Bitmap类
11.12 使用位图的HelloWorld
11.13 衬底
11.14 二进制资源
11.15 动画
11.16 图像列表
11.17 图片框
第12章 按扭、标签与滚动条
12.1 按钮与单击
12.2 键盘与鼠标
12.3 控件问题
12.4 深入按钮
12.5 外观与对齐
12.6 具有位图的按钮
12.7 一个或多个处理程序
12.8 绘制自己的按钮
12.9 锚定
12.10 停靠在时钟周围
12.11 窗体的子控件
12.12 Z顺序
12.13 复选框
12.14 3状态的复选框
12.15 Label控件
12.16 制表位和Tab键顺序
12.17 识别控件
12.18 自动缩放选项
12.18.1 WindowsForm设计器如何使用自动缩放
12.18.2 有创意的AutoScaleBaseSize设置
12.18.3 深入了解自动缩放
12.19 16进制计算器
12.20 单选按钮与组框
12.21 滚动条
12.22 滑动条的替代方案
第13章 贝塞尔曲线与其他样条
13.1 贝塞尔曲线样条
13.2更漂亮的时钟
13.3 同轴贝塞尔曲线
13.4 使用贝塞尔曲线来绘制圆形与圆弧
13.5 贝塞尔曲线艺术
13.6 数学导论
13.7 规范样条
13.8 规范样条导论
第14章 菜单
14.1 菜单与菜单项
14.2 菜单快捷键
14.3 第1个菜单
14.4 非传统的菜单
14.5 MenuItem属性与事件
14.6 选中菜单项
14.7 使用内容菜单
14.8 菜单项集合
14.9 标准菜单(一项提议)
14.10 所有者绘制选项
第15章 路径、区域与裁剪
15.1 问题及其解决方案
15.2 更正式地了解路径
15.3 创建路径
15.4 呈现路径
15.5 路径转换
15.6 其他路径修改
15.7 使用路径来裁剪
15.8 裁剪位图
15.9 区域与裁剪
第16章 对话框
16.1 您的第1个模式对话框
16.2 模式对话框的终止
16.3 接受与取消
16.4 屏幕位置
16.5 关于框
16.6 在对话框中定义属性
16.7 实现应用按钮
16.8 无模式对话框
16.9 通用对话框
16.10 选择字体与颜色
16.11 使用Windows注册表
16.12 打开文件对话框
16.13 保存文件对话框
第17章 笔刷与画笔
17.1 填入实心颜色
17.2 影线笔刷
17.3 呈现原点
17.4 纹理笔刷
17.5 线性渐变笔刷
17.6 路径渐变笔刷
17.7 拼接笔刷
17.8 画笔也可以是笔刷
17.9 虚线的样式
17.10 端点与联接
第18章 编辑、列表与数值微调
18.1 单行文本框
18.2 多行文本框
18.3 仿制[记事本]
18.4 拥有文件I/O的[记事本]仿制品
18.5 再谈[记事本]仿制品
18.6 特殊用途的文本框
18.7 RichTextBox控件
18.8 T001T1p
18.9 列表框
18.10 列表框+文本框组合框
18.11 上-下控件
第19章 字体的乐趣
19.1 开始学习
19.2 画笔的文本
19.3 字体转换
19.4 文本与路径
19.5 非线性转换
第20章 工具栏与状态栏
20.1 基本的状态栏
20.2 状态栏与自动滚动
20.3 状态栏面板
20.4 StatusBarPanel属性
20.5 菜单说明
20.6 基本的工具栏
20.7 工具栏的变化
20.8 工具栏事件
20.9 工具栏样式
第21章 打印
21.1 打印机及其设置
21.2 页面设置
21.3 定义一个文件
21.4 处理PrintDocument事件
21.5 页面尺寸
21.6 打印控制器
21.7 使用标准的打印对话框
21.8 设置页面
21.9 预览打印
第22章 树视图与列表视图
22.1 分隔
22.2 树状视图与树状节点
22.3 树状视图中的图像
22.4 树状视图事件
22.5 节点导航
22.6 目录树
22.7 显示图像
22.8 列表视图基础
22.9 列表视图事件
第23章 图元文件
23.1 载入并呈现现有图元文件
23.2 图元文件的大小与呈现
23.3 将图元文件转换成位图
23.4 创建新的图元文件
23.5 图元文件边界矩形
23.6 图元文件与页面转换
23.7 图元文件的类型
23.8 枚举图元文件
第24章 剪贴与拖放
24.1 项与格式
24.2 小巧而强大的Clipboard类
24.3 从剪贴板取得对象
24.4 剪贴板数据格式
24.5 剪贴板查看程序
24.6 设置多个剪贴板格式
24.7 拖放(DragandDrop)
附录A 文件与数据流
A.1 最重要的文件I/O类
A.2 FileStream属性与方法
A.3 FileStream的问题
A.4 其他的数据流类
A.5 读取与写入文本
A.6 二进制文件I/O
A.7 Environment类
A.8 剖析文伺:与路径名称
A.9 并行类
A.10 目录的处理
A.11 文件处理与信息
附录B 数学类
B.1 数值类型
B.2 检查整数溢出
B.3 Decimal类犁
B.4 浮点数无穷大与NaN
B.5 Math类
B.6 浮点数余数
B.7 乘幂与对数
B.8 三角函数
附录C 字符串理论
C.1 Char类型
C.2 String构造函数与属性
C.3 复制字符串
C.4 转换字符串
C.5 串连字符串
C.6 比较字符串
C.7 搜索字符串
C.8 移除与填补
C.9 字符串处理
C.10 字符串格式化
C.11 数组排序与搜索
C.12 StringBuilder类
1.1 控制台的返回
1.2 程序的剖析
1.3 .NET命名空间
1.4 字符串格式化
1.5 VisualBasic数据类型
1.6 对象
1.7 共享方法
1.8 异常处理
1.9 引发异常
1.10 获取与设置属性
1.11 构造函数
1.12 实例与继承
1.13 更宏观的角度
1.14 命名约定
1.15 结束语
第2章 WindOWS Forms
2.1 消息框
2.2 窗体
2.3 显示窗体
2.4 我们要运行的应用程序
2.5 主题的演变
2.6 窗体属性
2.7 事件驱动的输入
2.8 处理Paint事件
2.9 显示文本
2.10 字体
2.11 笔刷
2.12 坐标点
2.13 特殊的Paint事件
2.14 多个窗体,多个处理程序
2.15 继承窗体
2.16 OnPaint方法
2.17 模块的必要性
2.18 事件与“On'’方法
第3章 基本结构
3.1 类与结构
3.2 维坐标点
3.3 坐标点数组
3.4 Size结构
3.5 浮点版本
3.6 Rectangle是Point禾口Si2e
3.7 Rectangle结构的属性与方法
3.8 大小合适的窗体
3.9 窗体与工作区
3.10 坐标点转换
3.11 Color结构
3.12 141个颜色名称
3.13 画笔与笔刷
3.14 系统颜色
3.15 己知的颜色
3.16 笔刷的选择
3.17 了解重绘操作
3.18 使文本显示在中央位置
3.19 测量字符串
3.20 矩形区域中的文本
第4章 文本输出练习
4.1 系统信息
4.2 文本行间距
4.3 属性值
4.4 格式化为列
4.5 对象的普遍性
4.6 列出系统信息
4.7 WindowsForm与滚动条
4.8 滚动面板控件
4.9 ScrollableControl的继承
4.10 没有控件的滚动
4.11 实际的数值
4.12 保持更新
4.13 技巧
4.14 反射未来
第5章 直线、曲线与区域填充
5.1 如何取得Graphics对象
5.2 画笔简介
5.3 直线
5.4 打印简介
5.5 属性与状态
5.6 反锯齿
5.7 多条连接线
5.8 曲线与参数方程式
5.9 无所不在的矩形
5.10 一般的多边形
5.11 更简单的椭圆形
5.12 弧形与扇形
5.13 填充矩形、椭圆形与扇形
5.14 减1
5.15 多边形与填充模式
第6章 驾驭键盘
6.1 忽略键盘
6.2 取得输入焦点的对象
6.3 按键与字符
6.4 按下与放开按键
6.5 Keys枚举类型
6.6 测试修改键
6.7 实际检测
6.8 Syslnfo的键盘接口
6.9 字符的KeyPress事件
6.10 控制字符
6.11 查看按键
6.12 调用Win32APl
6.13 使用外国键盘处理输出
6.14 输入焦点
6.15 遗漏的插入号
6.16 响应按键字符
6.17 由右到左的问题
第7章 页面与转换
7.1 通过文本的设备无关性
7.2 像素与实际量度之间的关系
7.3 每in的点数
7.4 打印机上每in的点数
7.5 手动转换
7.6 页面单位与页面缩放
7.7 画笔宽度
7.8 页面转换
7.9 保存图形状态
7.10 公制尺寸
7.11 任意坐标
7.12 页面转换无法做到的
7.13 自然转换
7.14 大图片
7.15 线性转换
7.16 矩阵简介
7.17 Matrix类
7.18 分歧与类似分歧
7.19 将转换组合起来
第8章 操纵鼠标
8.1 鼠标的缺点
8.2 忽略鼠标
8.3 一些基本定义
8.4 与鼠标相关的信息
8.5 鼠标滚轮
8.6 4个基本的鼠标事件
8.7 使用鼠标滚轮
8.8 鼠标移动
8.9 跟踪与捕捉鼠示
8.10 跟踪的风险
8.11 单击与双击
8.12 与鼠标相关的属性
8.13 进入、移出与停留
8.14 鼠标指针
8.15 点击测试的练习
8.16 添加键盘接口
8.17 让子控件工作
8.18 点击测试文本
8.19 使用鼠标涂鸦
第9章 文本与字体
9.1 Windows下的字体
9.2 话说铅字
9.3 字体高度与行间距
9.4 默认字体
9.5 字体的变化
9.6 以名称来建立字体
9.7 基于任何其他名称的点大小
9.8 单位的冲突
9.9 字体属性与方法
9.10 来自字体家族的新字体
9.11 了解设计度量
9.12 字体家族的数组
9.13 字体集合
9.14 DrawString的变量
9.15 文本反锯齿功能
9.16 测量字符串
9.17 StringFormat选项
9.18 网格调和与文本调和
9.19 水平对齐与垂直对齐
9.20 热键显示
9.21 裁剪与修剪
9.22 定位点
第10章 计时器与时间
10.1 Timer类
10.2 DateTime结构
10.3 本地时间与国际时间
10.4 间隔计数
10.5 全世界所使用的历法
10.6 清晰易懂的诠释
10.7 一个简易的区域特定时钟
10.8 数字时钟
10.9 模拟时钟
10.10 一个称为JeudeTaquin的拼图游戏
第11章 图像与位图
11.1 位图支持概述
11.2 位图文件格式
11.3 载入与绘制
11.4 图像信息
11.5 呈现图像
11.6 容纳于一个矩形区域中
11.7 旋转与修剪
11.8 图像的部分显示
11.9 在图像上绘图
11.10 更深入Image类
11.11 Bitmap类
11.12 使用位图的HelloWorld
11.13 衬底
11.14 二进制资源
11.15 动画
11.16 图像列表
11.17 图片框
第12章 按扭、标签与滚动条
12.1 按钮与单击
12.2 键盘与鼠标
12.3 控件问题
12.4 深入按钮
12.5 外观与对齐
12.6 具有位图的按钮
12.7 一个或多个处理程序
12.8 绘制自己的按钮
12.9 锚定
12.10 停靠在时钟周围
12.11 窗体的子控件
12.12 Z顺序
12.13 复选框
12.14 3状态的复选框
12.15 Label控件
12.16 制表位和Tab键顺序
12.17 识别控件
12.18 自动缩放选项
12.18.1 WindowsForm设计器如何使用自动缩放
12.18.2 有创意的AutoScaleBaseSize设置
12.18.3 深入了解自动缩放
12.19 16进制计算器
12.20 单选按钮与组框
12.21 滚动条
12.22 滑动条的替代方案
第13章 贝塞尔曲线与其他样条
13.1 贝塞尔曲线样条
13.2更漂亮的时钟
13.3 同轴贝塞尔曲线
13.4 使用贝塞尔曲线来绘制圆形与圆弧
13.5 贝塞尔曲线艺术
13.6 数学导论
13.7 规范样条
13.8 规范样条导论
第14章 菜单
14.1 菜单与菜单项
14.2 菜单快捷键
14.3 第1个菜单
14.4 非传统的菜单
14.5 MenuItem属性与事件
14.6 选中菜单项
14.7 使用内容菜单
14.8 菜单项集合
14.9 标准菜单(一项提议)
14.10 所有者绘制选项
第15章 路径、区域与裁剪
15.1 问题及其解决方案
15.2 更正式地了解路径
15.3 创建路径
15.4 呈现路径
15.5 路径转换
15.6 其他路径修改
15.7 使用路径来裁剪
15.8 裁剪位图
15.9 区域与裁剪
第16章 对话框
16.1 您的第1个模式对话框
16.2 模式对话框的终止
16.3 接受与取消
16.4 屏幕位置
16.5 关于框
16.6 在对话框中定义属性
16.7 实现应用按钮
16.8 无模式对话框
16.9 通用对话框
16.10 选择字体与颜色
16.11 使用Windows注册表
16.12 打开文件对话框
16.13 保存文件对话框
第17章 笔刷与画笔
17.1 填入实心颜色
17.2 影线笔刷
17.3 呈现原点
17.4 纹理笔刷
17.5 线性渐变笔刷
17.6 路径渐变笔刷
17.7 拼接笔刷
17.8 画笔也可以是笔刷
17.9 虚线的样式
17.10 端点与联接
第18章 编辑、列表与数值微调
18.1 单行文本框
18.2 多行文本框
18.3 仿制[记事本]
18.4 拥有文件I/O的[记事本]仿制品
18.5 再谈[记事本]仿制品
18.6 特殊用途的文本框
18.7 RichTextBox控件
18.8 T001T1p
18.9 列表框
18.10 列表框+文本框组合框
18.11 上-下控件
第19章 字体的乐趣
19.1 开始学习
19.2 画笔的文本
19.3 字体转换
19.4 文本与路径
19.5 非线性转换
第20章 工具栏与状态栏
20.1 基本的状态栏
20.2 状态栏与自动滚动
20.3 状态栏面板
20.4 StatusBarPanel属性
20.5 菜单说明
20.6 基本的工具栏
20.7 工具栏的变化
20.8 工具栏事件
20.9 工具栏样式
第21章 打印
21.1 打印机及其设置
21.2 页面设置
21.3 定义一个文件
21.4 处理PrintDocument事件
21.5 页面尺寸
21.6 打印控制器
21.7 使用标准的打印对话框
21.8 设置页面
21.9 预览打印
第22章 树视图与列表视图
22.1 分隔
22.2 树状视图与树状节点
22.3 树状视图中的图像
22.4 树状视图事件
22.5 节点导航
22.6 目录树
22.7 显示图像
22.8 列表视图基础
22.9 列表视图事件
第23章 图元文件
23.1 载入并呈现现有图元文件
23.2 图元文件的大小与呈现
23.3 将图元文件转换成位图
23.4 创建新的图元文件
23.5 图元文件边界矩形
23.6 图元文件与页面转换
23.7 图元文件的类型
23.8 枚举图元文件
第24章 剪贴与拖放
24.1 项与格式
24.2 小巧而强大的Clipboard类
24.3 从剪贴板取得对象
24.4 剪贴板数据格式
24.5 剪贴板查看程序
24.6 设置多个剪贴板格式
24.7 拖放(DragandDrop)
附录A 文件与数据流
A.1 最重要的文件I/O类
A.2 FileStream属性与方法
A.3 FileStream的问题
A.4 其他的数据流类
A.5 读取与写入文本
A.6 二进制文件I/O
A.7 Environment类
A.8 剖析文伺:与路径名称
A.9 并行类
A.10 目录的处理
A.11 文件处理与信息
附录B 数学类
B.1 数值类型
B.2 检查整数溢出
B.3 Decimal类犁
B.4 浮点数无穷大与NaN
B.5 Math类
B.6 浮点数余数
B.7 乘幂与对数
B.8 三角函数
附录C 字符串理论
C.1 Char类型
C.2 String构造函数与属性
C.3 复制字符串
C.4 转换字符串
C.5 串连字符串
C.6 比较字符串
C.7 搜索字符串
C.8 移除与填补
C.9 字符串处理
C.10 字符串格式化
C.11 数组排序与搜索
C.12 StringBuilder类
猜您喜欢