当前位置:首页 > 工业技术
学通C#的24堂课
学通C#的24堂课

学通C#的24堂课PDF电子书下载

工业技术

  • 电子书积分:20 积分如何计算积分?
  • 作 者:王小科,赵会东等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302255437
  • 页数:722 页
图书介绍:本书从初中级用户的角度,科学合理的设计,通过24堂课全面讲述了使用C#进行程序开发必备知识和技能,突出学、练、用结合。
《学通C#的24堂课》目录
标签:编著

第1部分 基础篇 3

第1堂课 初探C#及其开发环境 3

1.1了解.NET 4

1.1.1 .NET概述 4

1.1.2 .NET程序编译原理 4

1.1.3 .NET项目成功案例 5

1.2 C#语言及特点 6

1.2.1 C#与.NET的关系 6

1.2.2 C#语言特点 6

1.2.3 C#语言发展趋势 7

1.3安装与卸载Visual Studio 2008 7

1.3.1安装Visual Studio 2008系统必备 7

1.3.2安装Visual Studio 2008 8

1.3.3卸载Visual Studio 2008 9

1.4熟悉Visual Studio 2008开发环境 10

1.4.1创建控制台应用程序 10

1.4.2创建Windows应用程序 11

1.4.3菜单栏介绍 12

1.4.4工具栏介绍 13

1.4.5“工具箱”面板介绍 14

1.4.6“属性”面板介绍 14

1.4.7解决方案资源管理器介绍 15

1.5 C#编程常用帮助 15

1.5.1安装MSDN 15

1.5.2使用MSDN 17

1.6照猫画虎——基本功训练 18

1.6.1基本功训练1——如何开始运行程序 18

1.6.2基本功训练2——如何中断当前程序的运行 19

1.6.3基本功训练3——设置程序代码行号 20

1.6.4基本功训练4——统一窗体中控件的字体设置 20

1.6.5基本功训练5——通过“格式”菜单布局窗体 21

1.7情景应用——拓展与实践 22

1.7.1情景应用1——设置Windows应用程序启动窗体 22

1.7.2情景应用2——为程序设置版本和帮助信息 23

1.7.3情景应用3——为项目添加已有窗体 24

1.7.4情景应用4——动起来的Label控件 24

1.7.5情景应用5——加法计算器 25

1.8自我测试 26

1.9行动指南 27

1.10成功可以复制——C#语言之父安德斯·海尔斯伯格 28

第2堂课C#程序设计基础 31

2.1编写第一个C#程序 32

2.2分析C#程序结构 33

2.2.1命名空间介绍 33

2.2.2类的介绍 34

2.2.3 Main方法的使用 34

2.2.4认识标识符 35

2.2.5认识关键字 35

2.2.6编写C#语句 35

2.2.7代码注释 36

2.3数据类型 37

2.3.1值类型的使用 37

2.3.2引用类型的使用 39

2.4声明并使用变量 40

2.4.1变量的声明及初始化 40

2.4.2变量的作用域 41

2.5声明并使用常量 42

2.6数据类型转换 43

2.6.1隐式类型转换 43

2.6.2显式类型转换 43

2.6.3装箱和拆箱 45

2.7运算符的使用 46

2.7.1算术运算符 46

2.7.2赋值运算符 48

2.7.3关系运算符 49

2.7.4逻辑运算符 51

2.7.5移位运算符 54

2.7.6其他特殊运算符 54

2.7.7运算符的优先级 56

2.8照猫画虎——基本功训练 57

2.8.1基本功训练1——使用“///”标记给代码段添加说明 57

2.8.2基本功训练2——使用引号运算符进行赋值 58

2.8.3基本功训练3——使用checked关键字处理“溢出”错误 58

2.8.4基本功训练4——使用typeof关键字获取类的内部结构 59

2.8.5基本功训练5——使用using关键字有效回收资源 60

2.9情景应用——拓展与实践 61

2.9.1情景应用1——检查对象是否与给定类型兼容 61

2.9.2情景应用2——使用算术运算符开发简单计算器 62

2.9.3情景应用3——使用“^”运算符对数字进行加密 64

2.9.4情景应用4——巧用移位运算符获取汉字编码值 65

2.9.5情景应用5——使用条件运算符判断指定年份是不是闰年 66

2.10自我测试 67

2.11行动指南 68

2.12成功可以复制——中国第一程序员求伯君 69

第3堂课 程序流程控制 71

3.1 C#程序设计算法 72

3.2 if语句的使用 74

3.2.1使用if和if…else语句实现条件选择 74

3.2.2 if语句的嵌套使用 77

3.3 switch语句的使用 78

3.3.1使用switch语句实现多分支选择 79

3.3.2 if…else语句与switch语句 80

3.4 while和do…while语句的使用 82

3.4.1使用while语句实现代码循环 82

3.4.2使用do…while语句实现至少执行一次循环 84

3.4.3 while和do…while语句的区别 86

3.5 for和foreach语句的使用 86

3.5.1使用for语句实现代码循环 86

3.5.2使用foreach语句遍历数据集合 88

3.6循环结构中的跳转语句 89

3.6.1使用break语句跳出循环 89

3.6.2使用continue语句继续程序的执行 91

3.6.3使用goto语句实现程序跳转 92

3.6.4使用return语句使程序返回 94

3.7照猫画虎——基本功训练 95

3.7.1基本功训练1——循环向控制台中输出内容 95

3.7.2基本功训练2——使用switch语句实现数字转换大写 96

3.7.3基本功训练3——鸡尾酒排序算法的实现 97

3.7.4基本功训练4——判断用户登录身份 99

3.7.5基本功训练5——小明去学校和医院分别要走哪条路 100

3.8情景应用——拓展与实践 101

3.8.1情景应用1——递归算法的经典面试题 101

3.8.2情景应用2——使用流程控制语句报销业务花销 102

3.8.3情景应用3——使用switch语句更改窗体颜色 102

3.8.4情景应用4——使用goto语句在数组中搜索指定图书 103

3.8.5情景应用5——制作一个数字猜猜看小游戏 104

3.9自我测试 105

3.10行动指南 107

3.11成功可以复制——软件业的华人教父王嘉廉 108

第4堂课 字符及字符串的使用 111

4.1字符操作 112

4.1.1 Char类概述 112

4.1.2使用Char类中的方法对字符进行操作 112

4.1.3认识并使用转义字符 114

4.2字符串的声明及初始化 114

4.3字符串操作 115

4.3.1比较字符串 115

4.3.2格式化字符串 116

4.3.3截取字符串 117

4.3.4分割字符串 118

4.3.5插入和填充字符串 118

4.3.6删除字符串 120

4.3.7复制字符串 120

4.3.8替换字符串 122

4.4可变字符串类StringBuilder的使用 122

4.4.1 StringBuilder类概述 122

4.4.2创建StringBuilder对象 123

4.4.3 StringBuilder类的使用 123

4.4.4 StringBuilder类与string类的区别 124

4.5照猫画虎——基本功训练 125

4.5.1基本功训练1——判断用户输入的用户名是否正确 125

4.5.2基本功训练2——将字符串的每个字符进行颠倒输出 126

4.5.3基本功训练3——去掉字符串中的所有空格 126

4.5.4基本功训练4——获取字符串中汉字的个数 127

4.5.5基本功训练5——从字符串中分离文件路径、文件名及扩展名 127

4.6情景应用——拓展与实践 128

4.6.1情景应用1——字母与ASCII码的转换 128

4.6.2情景应用2——将汉字转换为拼音 129

4.6.3情景应用3——批量替换某一类字符串 130

4.6.4情景应用4——对字符串进行加密与解密 131

4.6.5情景应用5——开发一个进制转换器 133

4.7自我测试 136

4.8行动指南 137

4.9成功可以复制——“杀毒王”王江民不可思议的传奇人生 138

第5堂课 数组与集合 141

5.1数组概述 142

5.2一维数组的声明和使用 142

5.2.1一维数组的声明 142

5.2.2一维数组的使用 143

5.3二维数组的声明和使用 144

5.3.1二维数组的声明 144

5.3.2二维数组的使用 144

5.3.3动态数组的声明及使用 145

5.4数组的基本操作 146

5.4.1遍历数组中的元素 146

5.4.2添加和删除数组元素 147

5.4.3数组的合并与拆分 147

5.5 ArrayList集合的使用 149

5.5.1 ArrayList集合概述 149

5.5.2添加ArrayList集合元素 150

5.5.3删除ArrayList集合元素 152

5.5.4遍历ArrayList集合 154

5.5.5查找ArrayList集合元素 154

5.6照猫画虎——基本功训练 155

5.6.1基本功训练1——获取多维数组的行数与列数 155

5.6.2基本功训练2——按指定条件在数组中检索元素 156

5.6.3基本功训练3——在数组中添加一个元素 157

5.6.4基本功训练4——不改变长度删除数组中的元素 159

5.6.5基本功训练5——删除数组元素后改变其长度 160

5.7情景应用——拓展与实践 162

5.7.1情景应用1——操作便捷的简单电话簿 162

5.7.2情景应用2——使用数组解决约瑟夫环问题 163

5.7.3情景应用3——向班级集合中添加学生信息 164

5.7.4情景应用4——使用哈希表对XML文件进行查询 165

5.7.5情景应用5——设计一个简单客车售票记录程序 166

5.8自我测试 168

5.9行动指南 169

5.10成功可以复制——善于抓住时机的人徐少春 170

第6堂课 程序设计中的算法 173

6.1算法基础 174

6.1.1初识算法 174

6.1.2描述算法的两种常用流程图 174

6.2常用的算法 175

6.2.1查找最大、最小值算法的实现 176

6.2.2杨辉三角算法的实现 177

6.2.3冒泡排序法 178

6.2.4插入排序法 179

6.2.5选择排序法 180

6.2.6希尔排序法 181

6.3照猫画虎——基本功训练 183

6.3.1基本功训11练1——计算1+2 2+3 3+4 4+…+n n的值 183

6.3.2基本功训练2——计算10!的值 183

6.3.3基本功训练3——求最大公约数 184

6.3.4基本功训练4——将B转换成GB、MB和KB 185

6.3.5基本功训练5——0~N位数的任意组合 186

6.4情景应用——拓展与实践 187

6.4.1情景应用1——身份证号从15位升到18位算法 187

6.4.2情景应用2——韩信点兵的算法实现 188

6.4.3情景应用3——求水仙花数的算法实现 189

6.4.4情景应用4——制作一个迷你星座查询器 190

6.4.5情景应用5——设计双色球彩票选号器 194

6.5自我测试 196

6.6行动指南 197

6.7成功可以复制——缔造华人的硅谷传奇杨致远 197

第7堂课 面向对象程序设计 199

7.1面向对象编程概述 200

7.2属性的定义及使用 200

7.2.1属性概述 201

7.2.2属性的定义 201

7.2.3属性的使用 202

7.3方法的声明及使用 203

7.3.1方法概述 203

7.3.2方法修饰符 203

7.3.3方法的声明 204

7.3.4方法的分类 205

7.3.5重载方法的实现 206

7.4枚举类型 207

7.4.1枚举类型概述 207

7.4.2枚举类型的声明 207

7.4.3枚举类型的使用 208

7.5泛型及其使用 209

7.5.1泛型概述 209

7.5.2类型参数T 209

7.5.3泛型接口的声明及使用 209

7.6结构的定义及使用 210

7.6.1结构概述 211

7.6.2结构的定义 211

7.6.3结构的使用 211

7.7类与对象详解 212

7.7.1类的概念 212

7.7.2类的声明 213

7.7.3构造函数和析构函数 213

7.7.4对象的声明和创建 214

7.8面向对象特性之封装 216

7.8.1封装概述 216

7.8.2封装的实现 217

7.9面向对象特性之继承 218

7.9.1继承概述 218

7.9.2单继承的使用 219

7.9.3多重继承的使用 219

7.10面向对象特性之多态 221

7.10.1多态概述 221

7.10.2多态的实现 222

7.11照猫画虎——基本功训练 224

7.11.1基本功训练1——使用属性存储用户编号和姓名 224

7.11.2基本功训练2——通过定义方法求一个数的平方 225

7.11.3基本功训练3——使用重载方法实现不同类型数据的计算 226

7.11.4基本功训练4——通过结构计算矩形的面积 227

7.11.5基本功训练5——通过类继承计算梯形面积 227

7.12情景应用——拓展与实践 229

7.12.1情景应用1——通过类的多态性确定人类的说话行为 229

7.12.2情景应用2——封装类实现一个简单的计算器 230

7.12.3情景应用3——使用分部类记录学生信息 231

7.12.4情景应用4——使用泛型存储不同类型的数据列表 232

7.12.5情景应用5——使用泛型去掉数组中的重复数字 233

7.13自我测试 234

7.14行动指南 235

7.15成功可以复制——百度CEO李彦宏 236

第2部分 提高篇 241

第8堂课 Windows窗体设计 241

8.1 Form窗体基础 242

8.1.1 Form窗体概述 242

8.1.2添加和删除Form窗体 242

8.1.3添加多窗体 243

8.1.4设置窗体的属性 244

8.1.5窗体的显示与隐藏 246

8.1.6触发窗体事件 247

8.2 MDI窗体设计 248

8.2.1 MDI窗体概述 248

8.2.2设置MDI窗体 249

8.2.3排列MDI子窗体 249

8.3继承窗体设计 251

8.3.1继承窗体概述 251

8.3.2创建继承窗体 251

8.3.3在继承窗体中修改继承的控件属性 253

8.4照猫画虎——基本功训练 254

8.4.1基本功训练1——控制窗体加载时的位置 254

8.4.2基本功训练2——设置窗体在屏幕中的位置 254

8.4.3基本功训练3——使窗体始终在桌面最顶层显示 255

8.4.4基本功训练4——根据桌面大小调整窗体大小 256

8.4.5基本功训练5——使背景图片自动适应窗体的大小 256

8.5情景应用——拓展与实践 257

8.5.1情景应用1——从上次关闭位置启动窗体 257

8.5.2情景应用2——自定义最大化、最小化和关闭按钮 258

8.5.3情景应用3——磁性窗体的设计 261

8.5.4情景应用4——制作鼠标穿透窗体 270

8.5.5情景应用5——窗体换肤程序 270

8.6自我测试 273

8.7行动指南 274

8.8成功可以复制——迅雷创始人邹胜龙 274

第9堂课 Windows应用程序常用控件 277

9.1控件概述 278

9.1.1浏览常用控件 278

9.1.2控件的分类及作用 278

9.2控件的相关操作 279

9.2.1添加控件 279

9.2.2对齐控件 280

9.2.3锁定控件 280

9.2.4删除控件 280

9.3文本类控件 280

9.3.1标签控件 280

9.3.2按钮控件 281

9.3.3文本框控件 282

9.3.4有格式文本控件 284

9.4选择类控件 286

9.4.1下拉组合框控件 286

9.4.2复选框控件 287

9.4.3单选按钮控件 289

9.4.4数值选择控件 290

9.4.5列表控件 291

9.5分组控件 293

9.5.1容器控件 293

9.5.2分组框控件 294

9.5.3选项卡控件 295

9.6对话框控件 297

9.6.1对话框概述 297

9.6.2打开对话框 297

9.6.3另存为对话框 298

9.6.4浏览文件夹对话框 299

9.7菜单、工具栏和状态栏控件 300

9.7.1菜单控件 300

9.7.2工具栏控件 301

9.7.3状态栏控件 302

9.8照猫画虎——基本功训练 303

9.8.1基本功训练1——在ComboBox下拉列表中显示图片 303

9.8.2基本功训练2——实现带查询功能的ComboBox控件 304

9.8.3基本功训练3——在RichTextBox控件中实现关键字描红 305

9.8.4基本功训练4——对ListBox控件中的数据进行排序 306

9.8.5基本功训练5——具有提示功能的工具栏 306

9.9情景应用——拓展与实践 307

9.9.1情景应用1——只允许输入数字的TextBox控件 307

9.9.2情景应用2——判断注册用户操作权限 308

9.9.3情景应用3——实现类似Word的项目编号功能 309

9.9.4情景应用4——制作带历史信息的菜单 310

9.9.5情景应用5——制作仿XP系统的任务栏菜单 311

9.10自我测试 312

9.11行动指南 313

9.12成功可以复制——前微软CEO比尔·盖茨 314

第10堂课 Windows应用程序高级控件 317

10.1存储图像控件 318

10.1.1在ImageList控件中添加图像 318

10.1.2在ImageList控件中移除图像 319

10.2列表视图控件 320

10.2.1在ListView控件中添加移除项 320

10.2.2选择ListView控件中的项 322

10.2.3为ListView控件中的项添加图标 323

10.2.4在ListView控件中启用平铺视图 324

10.3树控件 324

10.3.1添加和删除树节点 325

10.3.2获取树控件中选中的节点 326

10.3.3为树控件中的节点设置图标 327

10.4日期控件 328

10.4.1使用DateTimePicker控件显示时间 328

10.4.2使用DateTimePicker控件以自定义格式显示日期 329

10.4.3返回DateTimePicker控件中选择的日期 330

10.5月历控件 331

10.5.1在MonthCalendar控件中以粗体显示特定日期 331

10.5.2在MonthCalendar控件中选择日期范围 332

10.6其他高级控件 332

10.6.1使用ErrorProvider控件验证文本框输入 333

10.6.2使用HelpProvider控件调用帮助文件 334

10.6.3使用Timer控件设置时间间隔 335

10.6.4使用ProgressBar控件显示程序运行进度条 336

10.7照猫画虎——基本功训练 337

10.7.1基本功训练1——在列表视图中拖动视图项 337

10.7.2基本功训练2——制作带复选框的ListView控件 338

10.7.3基本功训练3——使用MaskedTextBox控件实现输入验证 339

10.7.4基本功训练4——使用Timer组件实现人物动画效果 340

10.7.5基本功训练5——使用ErrorProvider组件验证文本框输入 340

10.8情景应用——拓展与实践 341

10.8.1情景应用1——使用TreeView控件遍历磁盘目录 341

10.8.2情景应用2——用树型列表动态显示菜单 343

10.8.3情景应用3——设计一个电子万年历 344

10.8.4情景应用4——制作一个闹钟计时器 345

10.8.5情景应用5——弹出模式窗口显示进度条 346

10.9自我测试 348

10.10行动指南 349

10.11成功可以复制——图文世界的缔造者约翰·沃洛克 349

第11堂课ADO.NET数据访问技术 351

11.1 ADO.NET概述 352

11.2使用Connection对象连接数据库 352

11.2.1 Connection对象概述 352

11.2.2连接数据库 352

11.2.3关闭连接 353

11.3使用Command对象执行SQL语句 355

11.3.1 Command对象概述 355

11.3.2设置数据源类型 356

11.3.3执行SQL语句 357

11.4使用DataReader对象读取数据 359

11.4.1 DataReader对象概述 359

11.4.2判断查询结果中是否有值 359

11.4.3读取数据 360

11.5数据适配器:DataAdapter对象 361

11.5.1 DataAdapter对象概述 361

11.5.2填充DataSet数据集 361

11.5.3更新数据源 362

11.6数据集:DataSet对象 363

11.6.1 DataSet对象概述 363

11.6.2合并DataSet内容 364

11.6.3复制DataSet内容 365

11.7照猫画虎——基本功训练 366

11.7.1基本功训练1——连接加密的Access数据库 366

11.7.2基本功训练2——连接文本文件并显示其内容 367

11.7.3基本功训练3——读取SQL Server数据库结构 368

11.7.4基本功训练4——备份指定的SQLServer数据库 369

11.7.5基本功训练5——判断计算机中是否安装了SQL软件 370

11.8情景应用——拓展与实践 371

11.8.1情景应用1——向SQL Server数据库中批量写入海量数据 371

11.8.2情景应用2——使用断开式连接批量更新数据库中数据 373

11.8.3情景应用3——综合查询职工详细信息 374

11.8.4情景应用4——使用二进制存取用户头像 376

11.8.5情景应用5——使用存储过程实现员工自动编号 378

11.9自我测试 380

11.10行动指南 380

11.11成功可以复制——微型博客Twitter创始人埃文·威廉姆斯 381

第12堂课 DataGridView数据控件 383

12.1 DataGridView控件概述 384

12.2在DataGridView控件中显示数据 384

12.3获取DataGridView控件中的当前单元格 385

12.4在DataGridView控件中修改数据 386

12.5选中DataGridView控件中的行时显示不同颜色 387

12.6禁止在DataGridView控件中添加和删除行 389

12.7禁用DataGridView控件的自动排序功能 389

12.8合并DataGridView控件中的单元格 390

12.9照猫画虎——基本功训练 392

12.9.1基本功训练1——设置DataGridView控件中网格线的样式 392

12.9.2基本功训练2——在DataGridView控件中设置数据显示格式 392

12.9.3基本功训练3——设置DataGridView控件单元格的文本对齐方式 393

12.9.4基本功训练4——在DataGridView控件中实现下拉列表 394

12.9.5基本功训练5——为DataGridView控件实现复选功能 395

12.10情景应用——拓展与实践 396

12.10.1情景应用1——在DataGridView控件中验证数据输入 396

12.10.2情景应用2——在DataGridView控件中添加“合计”和“平均值” 396

12.10.3情景应用3——使用交叉表实现商品销售统计 398

12.10.4情景应用4——将DataGridView中数据导出到Word 399

12.10.5情景应用5——通过DataGridView分页查看用户信息 401

12.11自我测试 403

12.12行动指南 404

12.13成功可以复制——因特网的点火人马克·安德森 405

第3部分 高级篇 409

第13堂课 面向对象编程高级技术 409

13.1接口的声明及实现 410

13.1.1接口概述 410

13.1.2接口的声明 410

13.1.3接口的实现与继承 411

13.1.4显式接口成员实现 412

13.2抽象类的声明及使用 413

13.2.1抽象类概述 413

13.2.2抽象类的声明 414

13.2.3抽象方法的声明 414

13.2.4抽象类的使用 414

13.2.5抽象类与接口 416

13.3密封类的声明及使用 416

13.3.1密封类概述 416

13.3.2密封类的声明 416

13.3.3密封方法的声明 417

13.3.4密封类的使用 418

13.4照猫画虎——基本功训练 419

13.4.1基本功训练1——自定义抽象类计算圆形的面积 419

13.4.2基本功训练2——利用接口实现选择不同的语言 420

13.4.3基本功训练3——使用接口作为方法参数进行编程 421

13.4.4基本功训练4——通过重写虚方法实现加法运算 422

13.4.5基本功训练5——使用多重继承实现教师和学生信息的输出 422

13.5情景应用——拓展与实践 424

13.5.1情景应用1——使用迭代器显示公交车站点 424

13.5.2情景应用2——通过迭代器实现文字的动态效果 425

13.5.3情景应用3——使用分部类实现多种计算方法 427

13.5.4情景应用4——通过继承泛型类实现输出学生信息 428

13.5.5情景应用5——使用密封类密封用户信息 429

13.6自我测试 430

13.7行动指南 431

13.8成功可以复制——征途巨人史玉柱 432

第14堂课LINQ技术的使用 435

14.1 LINQ基础 436

14.1.1 LINQ概述 436

14.1.2使用var创建隐型局部变量 436

14.1.3 Lambda表达式的使用 437

14.1.4 LINQ查询表达式 438

14.2 LINQ操作SQL Server数据库 439

14.2.1使用LINQ查询SQL Server数据库 439

14.2.2使用LINQ管理SQL Server数据库 443

14.3 LINQ操作其他数据 449

14.3.1使用LINQ操作数组和集合 449

14.3.2使用LINQ操作DataSet数据集 450

14.3.3使用LINQ操作XML 451

14.4照猫画虎——基本功训练 454

14.4.1基本功训练1——检查序列中是否包含指定元素 454

14.4.2基本功训练2——使用LINQ生成随机序列 455

14.4.3基本功训练3——统计每种商品的销售次数 456

14.4.4基本功训练4——统计每种商品的销售均价 457

14.4.5基本功训练5——获取有过返货记录的商品列表 457

14.5情景应用——拓展与实践 458

14.5.1情景应用1——使用存储过程查询单表数据 458

14.5.2情景应用2——使用LINQ技术防止SQL注入式攻击 459

14.5.3情景应用3——使用LINQ技术实现数据分页 460

14.5.4情景应用4——从头开始提取满足指定条件的记录 462

14.5.5情景应用5——读取XML文件并更新到数据库 463

14.6自我测试 464

14.7行动指南 465

14.8成功可以复制——中国通信设备行业的领跑者任正非 466

第15堂课 文件及IO 469

15.1文件操作基础 470

15.1.1 File类和FileInfo类介绍 470

15.1.2 Directoy类和DirectoryInfo类介绍 472

15.2文件基本操作 475

15.2.1判断文件是否存在 475

15.2.2创建文件 475

15.2.3复制文件 476

15.2.4移动文件 477

15.2.5删除文件 477

15.3文件夹基本操作 478

15.3.1判断文件夹是否存在 478

15.3.2创建文件夹 478

15.3.3移动文件夹 479

15.3.4删除文件夹 479

15.4 I/O输入输出 480

15.4.1流概述 480

15.4.2文件I/O流介绍 481

15.4.3使用I/O流操作文本文件 482

15.4.4使用I/O流操作二进制文件 484

15.5照猫画虎——基本功训练 486

15.5.1基本功训练1——获取文件基本信息 486

15.5.2基本功训练2——遍历文件夹 487

15.5.3基本功训练3——使用C#操作INI文件 488

15.5.4基本功训练4——按行读取文本文件中数据 489

15.5.5基本功训练5——获取指定文件夹的上级目录 490

15.6情景应用——拓展与实践 490

15.6.1情景应用1——根据日期动态建立文件 490

15.6.2情景应用2——文件批量更名 491

15.6.3情景应用3——复制文件时显示复制进度 492

15.6.4情景应用4——伪装文件夹 494

15.6.5情景应用5——对指定文件夹中的文件进行分类存储 496

15.7自我测试 497

15.8行动指南 498

15.9成功可以复制——中国网络游戏产业的领军人陈天桥 499

第16堂课GDI+绘图技术 501

16.1 GDI+绘图基础 502

16.1.1 GDI+概述 502

16.1.2创建Graphics对象 502

16.1.3创建Pen对象 503

16.1.4创建Brush对象 503

16.2基本图形绘制 504

16.2.1绘制直线和矩形 505

16.2.2绘制椭圆、弧和扇形 506

16.2.3绘制多边形 508

16.2.4绘制文本 509

16.2.5绘制图形 510

16.3照猫画虎——基本功训练 510

16.3.1基本功训练1——绘制公章 510

16.3.2基本功训练2——波形图的绘制 512

16.3.3基本功训练3——生成图片缩略图 513

16.3.4基本功训练4——以任意角度旋转图像 514

16.3.5基本功训练5——浮雕效果显示图像 515

16.4情景应用——拓展与实践 516

16.4.1情景应用1——绘制中文验证码 516

16.4.2情景应用2——批量图像格式转换 517

16.4.3情景应用3——抓取网站整页面 520

16.4.4情景应用4——批量添加图片水印 523

16.4.5情景应用5——打造自己的开心农场 527

16.5自我测试 530

16.6行动指南 531

16.7成功可以复制——“盖茨第二”马克·扎克伯格 531

第17堂课 水晶报表与打印 533

17.1认识水晶报表 534

17.1.1水晶报表概述 534

17.1.2水晶报表工作区介绍 534

17.2水晶报表数据源和数据访问模式 535

17.2.1 Visual Studio 2008中水晶报表数据源列举 535

17.2.2水晶报表的数据访问模式 535

17.3水晶报表基本操作 536

17.3.1创建水晶报表并连接数据源 536

17.3.2水晶报表中数据的分组与排序 538

17.3.3水晶报表中数据的筛选 540

17.3.4在水晶报表中使用图表 542

17.3.5在水晶报表中创建子报表 543

17.4 Windows打印组件的使用 545

17.4.1使用PageSetupDialog组件设置打印文档信息 545

17.4.2使用PrintDialog组件显示打印对话框 546

17.4.3使用PrintDocument组件设置打印文档 547

17.4.4使用PrintPreviewControl组件设置打印预览文档 548

17.4.5使用PrintPreviewDialog组件显示打印预览 549

17.5照猫画虎——基本功训练 549

17.5.1基本功训练1——自定义横向打印 549

17.5.2基本功训练2——自定义打印页码范围 551

17.5.3基本功训练3——打印商品入库单据 556

17.5.4基本功训练4——使图片成为整个报表的背景 557

17.5.5基本功训练5——设置水晶报表的打印日期与时间 558

17.6情景应用——拓展与实践 560

17.6.1情景应用1——打印学生个人简历 560

17.6.2情景应用2——批量打印学生证书 561

17.6.3情景应用3——订货总金额超过10万元显示“恭喜获奖”文字 564

17.6.4情景应用4——部门销售量占公司总销售量的业绩百分比 566

17.6.5情景应用5——按类别分组统计图书库存 567

17.7自我测试 568

17.8行动指南 569

17.9成功可以复制——3D王国的开创者约翰·沃克 569

第18堂课 网络编程 571

18.1计算机网络基础 572

18.1.1局域网与因特网介绍 572

18.1.2网络协议介绍 572

18.1.3端口及套接字介绍 574

18.2网络编程基础 575

18.2.1 System.NET命名空间及相关类的使用 575

18.2.2 System.NET.Sockets命名空间及相关类的使用 580

18.2.3 System.NET.Mail命名空间及相关类的使用 585

18.3照猫画虎——基本功训练 587

18.3.1基本功训练1——通过IP地址获取主机名称 587

18.3.2基本功训练2——得到本机MAC地址 588

18.3.3基本功训练3——获取网络中所有工作组名称 588

18.3.4基本功训练4——获取网络中某台计算机的磁盘信息 589

18.3.5基本功训练5——编程实现Ping操作 590

18.4情景应用——拓展与实践 591

18.4.1情景应用1——获取网络信息及流量 591

18.4.2情景应用2——远程关闭与重启计算机 593

18.4.3情景应用3——创建Web页面浏览器 594

18.4.4情景应用4——设计点对点聊天程序 595

18.4.5情景应用5——电子邮件的发送与接收 596

18.5自我测试 598

18.6行动指南 598

18.7成功可以复制——80后新贵、泡泡网CEO李想 599

第19堂课 线程的使用 601

19.1线程概述 602

19.1.1线程的定义与分类 602

19.1.2多线程的使用 603

19.1.3线程的生命周期 603

19.2 C#中的线程类Thread 604

19.3线程调度 606

19.3.1创建线程 606

19.3.2线程的挂起与恢复 607

19.3.3线程休眠 608

19.3.4终止线程 608

19.3.5线程的优先级 609

19.4线程同步 611

19.4.1线程同步机制 611

19.4.2使用lock关键字实现线程同步 611

19.4.3使用Monitor驱动对象实现线程同步 612

19.4.4使用Mutex类实现线程同步 613

19.5照猫画虎——基本功训练 615

19.5.1基本功训练1——判断线程的运行状态 615

19.5.2基本功训练2——使用线程遍历文件夹 615

19.5.3基本功训练3——使用线程休眠控制图片以百叶窗效果显示 616

19.5.4基本功训练4——使用线程读取数据库中的数据 618

19.5.5基本功训练5——使用线程实现大容量数据的计算 618

19.6情景应用——拓展与实践 619

19.6.1情景应用1——使用线程扫描局域网IP地址 619

19.6.2情景应用2——使用线程制作小游戏 621

19.6.3情景应用3——有进度条的文件异步复制功能 622

19.6.4情景应用4——使用线程控制向窗体中拖放图片并显示 624

19.6.5情景应用5——使用多线程制作端口扫描工具 625

19.7自我测试 626

19.8行动指南 627

19.9成功可以复制——IT“大王”王志东 627

第20堂课 异常处理与程序调试 629

20.1异常处理与程序调试概述 630

20.2异常处理语句的使用 630

20.2.1使用throw语句抛出异常 630

20.2.2使用try…catch语句捕捉异常 632

20.2.3使用try…catch…finally语句捕捉异常 633

20.3常用的程序调试操作 634

20.3.1断点操作 634

20.3.2开始、中断和停止程序的执行 635

20.3.3单步执行 636

20.3.4运行到指定位置 637

20.4成功可以复制——IT风云人物鲍岳桥 637

第21堂课 Windows应用程序打包部署 639

21.1 Windows Installer介绍 640

21.2创建Windows安装项目 640

21.3制作Windows安装程序 641

21.3.1添加项目输出 641

21.3.2添加内容文件 642

21.3.3创建桌面快捷方式 643

21.3.4添加注册表项 644

21.3.5生成Windows安装程序 646

21.4部署Windows应用程序 646

21.5成功可以复制——暴雪公司的领航者迈克·莫汉 647

第4部分 实战篇 651

第22堂课 企业人事管理系统 651

22.1系统分析 652

22.1.1需求分析 652

22.1.2可行性分析 652

22.1.3编写项目计划书 653

22.2系统设计 654

22.2.1系统目标 654

22.2.2系统功能结构 655

22.2.3系统业务流程图 655

22.2.4系统编码规范 656

22.3系统运行环境 656

22.4数据库与数据表设计 656

22.4.1数据库分析 657

22.4.2创建数据库 657

22.4.3创建数据表 659

22.4.4数据表逻辑关系 663

22.5创建项目 664

22.6公共类设计 665

22.6.1 MyMeans公共类 665

22.6.2 MyModule公共类 667

22.7登录模块设计 679

22.7.1设计登录窗体 680

22.7.2按回车键时移动鼠标焦点 680

22.7.3登录功能的实现 680

22.8系统主窗体设计 681

22.8.1设计菜单栏 682

22.8.2设计工具栏 683

22.8.3设计导航菜单 684

22.8.4设计状态栏 684

22.9人事档案管理模块设计 685

22.9.1设计人事档案管理窗体 686

22.9.2添加/修改人事档案信息 688

22.9.3删除人事档案信息 690

22.9.4单条件查询人事档案信息 690

22.9.5逐条查看人事档案信息 692

22.9.6将人事档案信息导出为Word文档 694

22.10人事资料查询模块设计 698

22.10.1设计人事资料查询窗体 699

22.10.2多条件查询人事资料 700

22.11通讯录模块设计 700

22.11.1设计通讯录窗体 701

22.11.2添加/修改通讯录信息 701

22.11.3删除通讯录信息 703

22.11.4查询通讯录信息 704

22.12用户设置模块设计 704

22.12.1设计用户设置窗体 705

22.12.2添加/修改用户信息 705

22.12.3删除用户基本信息 707

22.12.4设置用户操作权限 707

22.13数据库维护模块设计 708

22.13.1设计数据库维护窗体 708

22.13.2备份数据库 709

22.13.3还原数据库 709

22.14运行项目 711

22.15系统打包部署 712

22.16开发常见问题与解决 715

22.16.1程序为什么会无法运行 715

22.16.2为什么无法添加职工基本信息 716

22.16.3选择职工头像时出现异常怎么办 717

22.16.4数据库还原不成功应该如何解决 717

22.16.5出现Word引用问题怎么办 717

22.16.6 COM选项卡中没有Word 9.0引用怎么办 718

22.16.7为什么使用全名声明Word对象后还出现错误 718

22.17小结 722

第23堂课 房屋中介管理系统 723

23.1系统分析 724

23.2系统设计 724

23.2.1系统目标 724

23.2.2系统功能结构图 724

23.2.3系统业务流程图 725

23.3系统运行环境 725

23.4数据库与数据表设计 725

23.4.1数据库分析 725

23.4.2数据表设计 726

23.4.3视图设计 728

23.4.4存储过程设计 729

23.4.5触发器设计 731

23.5创建项目 732

23.6公共类设计 733

23.7系统主窗体设计 733

23.8用户信息管理模块设计 733

23.9房源信息设置模块设计 734

23.10房源信息查询模块设计 734

23.11房源状态查询模块设计 735

23.12员工信息设置模块设计 735

23.13小结 736

第24堂课 进销存管理系统 737

24.1系统分析 738

24.2系统设计 738

24.2.1系统目标 738

24.2.2系统功能结构图 738

24.2.3系统业务流程图 739

24.3系统运行环境 739

24.4数据库与数据表设计 739

24.4.1数据库分析 740

24.4.2数据表设计 740

24.4.3数据表逻辑关系 742

24.5创建项目 743

24.6公共类设计 744

24.7登录模块设计 744

24.8系统主窗体设计 744

24.9基础数据管理模块设计 745

24.10进货管理模块设计 745

24.11商品销售排行模块设计 746

24.12库存状况管理模块设计 746

24.13库存盘点模块设计 747

24.14小结 747

附录A C#程序编码规范 749

A.1命名规则 749

A.1.1数据类型简写规则 749

A.1.2变量及对象名称命名规则 749

A.1.3类命名规则 750

A.1.4属性命名规则 750

A.1.5方法命名规则 750

A.1.6接口命名规则 750

A.1.7控件命名规则 751

A.2代码版式 751

A.2.1统一代码缩进 751

A.2.2合理使用空行 751

A.2.3代码换行 752

A.2.4空格的使用 752

A.3代码注释 752

A.3.1注释的目的 752

A.3.2代码注释规范 752

A.4数据库编程命名规范 753

A.4.1数据库命名规范 753

A.4.2数据表命名规范 753

A.4.3字段命名规范 753

A.4.4视图命名规范 753

A.4.5存储过程命名规范 754

A.4.6触发器命名规范 754

相关图书
作者其它书籍
返回顶部