第一章 开发环境 1
1.1 Visual Studio开发环境安装与配置 2
0001 安装Visual Studio 2005开发环境须知 2
0002 配置合适的Visual Studio 2005开发环境 2
0003 设置程序代码行序号 3
0004 开发环境全屏显示 3
0005 设置窗口的自动隐藏功能 3
0006 根据需要创建所需解决方案 4
0007 如何使用“验证的目标架构”功能 4
1.2 Visual Studio开发环境的使用 4
0008 为程序设置版本和帮助信息 4
0009 设置Windows应用程序启动窗体 5
0010 设置Web应用程序起始页 5
0011 如何设置程序的出错窗口 5
0012 如何进行程序调试 6
0013 如何结束不能正常运行的程序 6
0014 如何锁定窗体中的控件 6
0015 统一窗体中控件的字体设置 7
0016 通过“格式”菜单布局窗体 7
0017 起始页中的“Visual Studio开发人员新闻” 7
1.3 MSDN帮助的使用 8
0018 有效利用Visual Studio 2005附带程序 8
0019 有效使用MSDN帮助 9
0020 如何设置MSDN帮助 9
1.4 其他 10
0021 如何添加项目引用 10
0022 如何添加Web引用 10
0023 如何添加引用第3方控件 11
0024 如何生成DLL文件 11
0025 如何使用不安全代码 11
第2章 语言基础 13
2.1 注释 14
0026 如何对代码进行注释 14
0027 #region、#endregion关键字的使用技巧 14
0028 “///”符号的使用技巧 14
0029 使用注释取消程序语句的执行 15
2.2 语句 15
0030 跳转语句GOTO的使用 15
0031 Continue语句的使用 16
0032 Break语句的使用 16
0033 Return语句的使用 17
0034 如何实现无限循环 17
0035 巧用foreach语句控制控件 18
0036 有效使用switch case语句 18
2.3 运算符 19
0037 如何使用引号赋值 19
0038 巧用“^=”运算符 19
0039 巧用位移运算符 20
0040 使用条件运算符 20
0041 巧用分隔符 20
0042 如何处理转义字符 21
0043 “;”结束符问题 21
0044 如何使用“??”操作符 22
2.4 表达式与关键词 22
0045 正确使用“&&”和“‖” 22
0046 如何处理程序“溢出”错误 23
0047 有效使用base关键字 23
0048 typeof表达式的使用 23
0049 params关键字可以指定多参数 24
0050 using关键字的用法 24
0051 变量的作用域 25
2.5 其他 26
0052 有效使用this对象 26
0053 如何声明变量 26
0054 如何声明相同类型的多个变量 26
0055 利用Object变量传递参数 27
0056 强行改变运算符的运算顺序 27
第3章 程序算法 29
3.1 数据结构 30
0057 如何实现单向链表 30
0058 如何实现双向链表 35
0059 如何实现堆栈 41
0060 队列的实现 43
0061 树的实现 44
3.2 排序 48
0062 如何实现选择排序算法 48
0063 如何实现冒泡排序算法 49
0064 如何实现快速排序算法 50
0065 如何实现插入排序算法 50
0066 如何实现希尔排序算法 51
3.3 常见算法的实际应用 52
0067 计算1+22+33+44+......+nn的值 52
0068 计算10!的值 52
0069 求最大公约数 52
0070 求最小公倍数 53
0071 判断素数的算法 53
0072 如何判断一个数是否是完数 54
0073 歌德巴赫猜想的算法 54
0074 八皇后问题 54
0075 用回溯法找出n个自然数中取r个数的全排列 55
0076 约瑟夫环问题 56
0077 猴子选大王 57
0078 如何判断IP是否正确 57
0079 如何将小写金额转换为大写金额 57
0080 统计文本字数 58
0081 文本中首字母改为大写 59
0082 C#随机数的产生 59
0083 身份证从15位升至18位算法 60
0084 十进制数转二进制数的算法 60
0085 十进制数转八进制数的算法 61
0086 十进制数转十六进制数的算法 62
0087 二、八、十六进制数转十进制数的算法 63
3.4 密码算法 65
0088 使用MD5算法对密码进行加密 65
0089 “凯撒”密码的算法 65
第4章 字符及字符串处理技术 67
4.1 字符及字符串转换 68
0090 如何获得字母的ASCII码 68
0091 如何根据ASCII码获得字母 68
0092 编程中经常使用的ASCII码 68
0093 获得汉字的区位码 69
0094 如何根据区位码获得汉字 69
0095 如何将行字符串转换为列字符串 70
0096 如何将数字转换为字符串 70
0097 如何将字符串转换为数字 70
0098 如何将数字转换为日期格式 71
0099 如何将数字转换为货币格式 71
0100 将字母全部转换大写 71
0101 将字母全部转换小写 72
0102 将字符串首字母转换大写 72
0103 如何进行字节数组和字符串的相互转换 72
0104 如何把一个按空格分割的字符串存储在一个ArrayList数组中 73
4.2 获取字符串信息 73
0105 如何获得一个字符串的长度 73
0106 如何获得一个字符串中数字的长度 74
0107 如何获得字符串中数字或字母的长度 74
0108 如何获得字符串中某个数字的位置 75
0109 获得字符串中汉字的个数 76
0110 获得字符串中指定后几位字符 76
0111 计算字符串中子字符串出现的次数 76
0112 获得字符串中大写字母的个数 77
0113 获得某字符在字符串中最后出现的位置 78
0114 如何找出字符串中某一字符的所有位置 78
4.3 常用字符及字符串处理技术 79
0115 如何判断是否为数字 79
0116 如何在字符串中查找指定字符 79
0117 如何在字符串中用一子串替换另一子串 80
0118 将新字符串添加到已有字符串中 80
0119 如何在字符串中添加多个空格 81
0120 如何根据标点符号分行 81
0121 如何将字符串颠倒输出 82
0122 如何设置小数的保留位数 82
0123 如何对字符串进行组合或分解 82
0124 判断字符串中某一字符是否大写 83
0125 按要求生成指定位数编号 83
0126 确定两字符串是否相等 84
0127 判断两字符串中指定子串是否相等 84
0128 判断字符串是否为日期格式 85
0129 清除字符串中指定的字符 85
0130 复制字符串中指定的字符 85
0131 巧截字符串的数字 86
0132 如何存储变长字符串 86
0133 在进行字符串比较时忽略大小写 87
0134 如何去除字符串尾空格 87
0135 如何去掉字符串中所有空格 88
0136 如何进行文本加密与解密 88
0137 如何区别0、空字符串、Null、Empty和Nothing 89
0138 从字符串中分离文件路径、文件名及扩展名 89
0139 如何批量替换某一类字符串 89
第5章 数据处理 91
5.1 数字处理技巧 92
0140 如何对计算结果四舍五放入 92
0141 如何将商品金额小写转换成大写 92
0142 如何根据生日自动计算员工年龄 93
0143 如何设置货币值中使用的小数位数 93
0144 如何自定义货币值中的小数点 94
0145 如何自定义货币值中小数点左边数字分组字符 94
0146 如何自定义货币值中小数点左边每一组的位数 95
0147 如何自定义百分比值中小数的位数 95
0148 如何自定义百分比小数点 96
0149 如何自定义百分比小数点左边数字分组字符 96
0150 如何自定义百分比小数点左边每一组的位数 97
0151 如何自定义百分比符号 97
0152 如何自定义数字小数点右边的保留位数 98
0153 如何自定义数字小数点左边分组位数 98
0154 格式化输入数据为货币格式 99
0155 如何计算两个整数的乘积 99
0156 如何将二进制数转换为十进制数 100
0157 如何将二进制数转换为八进制数 100
0158 如何将二进制数转换为十六进制数 100
0159 如何实现0~9之间随机整数 101
0160 如何实现0~1之间随机数 101
0161 如何返回数字的绝对值 101
5.2 控件数据处理技巧 102
0162 如何实现C#中用〈Enter〉键完成TAB的功能 102
0163 如何限制文本框密码输入长度 102
0164 数据输入为空提示 103
0165 如何设置文本框光标到末尾 103
0166 输入法调整技巧 103
0167 锁定文本框内的文本 103
0168 使用Message.Show输出用户信息 104
5.3 图片数据处理技巧 104
0169 如何将图片存入数据库 104
0170 如何将图片从数据库中读取出来 104
0171 如何只允许输入指定图片格式 105
0172 如何设置录入图片统一图片大小 105
5.4 数组处理技巧 105
0173 如何转换数组类型 105
0174 如何复制数组中一系列元素的元素 106
0175 如何检索指定条件数组中的元素 107
0176 如何动态改变数组长度 108
0177 如何反转数组中元素的顺序 108
0178 如何排序数组中的元素的顺序 109
0179 如何创建动态数组 110
5.5 NET应用技巧 110
0180 如何使用ASP.NET技术对口令加密 110
0181 如何设定ASP.NET全局变量 111
0182 如何设定全局联接数据库对象 111
0183 如何在ASP.NET中获得客户端IP地址 111
0184 如何在ASP.NET中获取文件的扩展名 111
0185 如何在ASP.NET中用URL在页面之间传值 112
0186 如何使用IsPostBack实现ASP.NET页面加载 112
0187 如何利用输出缓存技术缓存ASP.NET页面 112
0188 如何在ASP.NET中显示当前IE浏览器头信息 113
5.6 其他应用技巧 114
0189 如何判断年份是否为闰年 114
0190 如何根据年份判断十二生肖 114
0191 如何根据IP地址获取本机域名 115
0192 如何获取“我的文档”系统文件夹路径 115
0193 如何获取应用程序当前执行的路径 116
0194 如何获取当前操作系统的信息 116
0195 如何实现基本数据类型随意转换 116
0196 如何生成全局唯一标识符(GUID) 118
第6章 资料验证技术 119
6.1 网络验证应用技巧 120
0197 如何使用正则表达式验证E-mail格式 120
0198 如何使用正则表达式验证IP地址 120
0199 如何使用正则表达式验证URL 120
6.2 常用数字验证技巧 121
0200 如何使用正则表达式验证电话号码 121
0201 如何使用正则表达式验证输入密码条件 121
0202 如何使用正则表达式验证邮政编号 121
0203 如何使用正则表达式验证手机号 122
0204 如何使用正则表达式验证身份证号 122
0205 如何使用正则表达式验证两位小数 122
0206 如何使用正则表达式验证一年的12个月份 123
0207 如何使用正则表达式验证一个月的31天 123
0208 如何使用正则表达式验证数字输入 123
0209 如何使用正则表达式验证密码长度 124
0210 如何使用正则表达式验证非零的正整数 124
0211 如何使用正则表达式验证非零的负整数 124
6.3 常用字符验证技巧 125
0212 如何使用正则表达式验证大写字母 125
0213 如何使用正则表达式验证小写字母 125
0214 使用正则表达式检查字符串中重复出现的词 125
0215 如何使用正则表达式替换字符串 126
0216 如何使用正则表达式拆分字符串 127
0217 如何使用正则表达式验证输入字母 127
0218 如何使用正则表达式验证中文汉字输入 128
0219 如何使用正则表达式验证输入字符串 128
第7章 日期和时间 129
7.1 日期与时间的获取 130
0220 获得系统当前日期 130
0221 获得系统当前时间 130
0222 同时获得系统当前日期和时间 130
0223 如何获取当前日期是星期几 130
0224 如何获取当前年的天数 131
0225 如何获取当前月的天数 131
0226 如何取得当前日期的前一天 132
0227 使用TimeSpan对象获取时间间隔 133
7.2 日期的格式化及其时间的比较 133
0228 将日期格式化为指定格式 133
0229 如何将短日期格式化为长日期格式 134
0230 如何将数字日期转化为中文格式 134
0231 如何对系统时间和数字进行比较 135
0232 如何比较时间 135
0233 获取两个日期之间的时间差并进行比较 136
7.3 日期方法与函数的应用 136
0234 使用DateDiff方法获取日期时间的间隔数 136
0235 在SQL语句中使用DATEADD函数向指定日期添加一段时间间隔 137
0236 在SQL语句中使用DATEDIFF函数获得两个日期的间隔 137
0237 如何使用Sleep方法延迟时间 137
0238 如何确定程序的运行时间 138
0239 如何使用ParseExact方法将字符串转化为日期格式 138
0240 如何使用ToString方法格式化日期 139
0241 如何使用Convert方法转换日期显示格式 139
7.4 系统时间与日期的设置 140
0242 如何设置系统的日期 140
0243 如何设置系统的时间 140
0244 如何设置系统的日期和时间 141
7.5 日期与时间的应用 142
0245 如何将数据控件中的日期以编程的方式转化为指定格式 142
0246 将格式化日期的方法绑定到数据控件中 142
0247 直接格式化绑定到数据控件GridView中的日期列 143
0248 在数据控件GridView的RowDataBound事件中对绑定到GridView控件的日期列进行格式化 143
0249 如何实现倒计时功能 143
0250 如何创建一个数字时钟 144
第8章 Windows窗体设计 145
8.1 Windows窗体基本操作 146
0251 控制窗体加载时所在的位置 146
0252 控制窗体最大化、最小化 146
0253 清空窗体中的图片 146
0254 如何使程序窗体总在最前 147
0255 如何将菜单置于窗体的左侧 147
0256 将其他窗体作为当前窗体的子窗体 147
0257 如何根据控件大小自动显示滚动条 148
0258 如何显示About窗体 148
0259 利用Show方法显示被调用窗体 149
0260 Load事件将窗体加载到内存 149
0261 窗体的卸载与隐藏 149
0262 设置窗体的状态 149
0263 如何设置窗体在桌面上的位置 150
0264 如何在关闭窗体前显示确认对话框 150
0265 如何去掉窗体的标题栏 151
0266 如何禁止在任务栏中显示窗体标题 152
0267 如何禁止缩放窗体的边框 152
0268 如何设置窗体标题栏文字右对齐 152
0269 如何显示窗体的属性信息 153
0270 如何隐藏窗体标题栏的按钮 153
8.2 Windows窗体高级操作 153
0271 设置闪烁的标题栏 153
0272 如何在托盘中写入应用程序图标 154
0273 如何以全屏方式显示程序窗体 154
0274 如何从上次关闭位置启动窗体 154
0275 如何通过拖动工作区来移动窗体 155
0276 如何渐变显示窗体背景颜色 155
0277 如何排列MDI窗体中的子窗体 156
0278 如何拖动无标题栏窗体 157
8.3 特殊类型的窗体 158
0279 创建一个无ICON的窗体 158
0280 如何制作飘动的窗体 158
0281 使用拆分窗口 159
0282 用C#实现启动欢迎界面 159
0283 如何实现半透明渐显窗体 160
0284 基于ListView的导航界面 160
0285 类似OutLook的导航界面 162
0286 图形化的导航界面 162
0287 如何实现类似QQ的程序界面 162
0288 如何实现类似Windows XP的程序界面 164
0289 制作字形窗体 164
0290 制作图形窗体 164
0291 随机更换背景的窗体 165
8.4 菜单、工具栏和状态栏的设计 166
0292 带图标的菜单 166
0293 带历史信息的菜单 166
0294 可以拉伸的菜单 167
0295 带背景的工具栏 168
0296 浮动工具栏 168
0297 带下拉菜单的工具栏 169
0298 在状态栏中显示复选框 169
0299 带进度条的状态栏 169
0300 带图标的状态栏 170
8.5 其他 170
0301 界面设计要素 170
0302 界面设计在程序开发中的重要性 171
0303 如何设置窗体的〈Esc〉键响应按钮 172
0304 如何设置窗体的〈Enter〉键响应按钮 172
0305 窗体间数据的访问 172
第9章 Windows窗体控件 175
9.1 TextBox控件应用技巧 176
0306 文本框中只能输入数字 176
0307 如何设置TextBox控件输入多行文本 176
0308 如何锁定文本框 176
0309 如何控制TextBox控件中的插入点 176
0310 如何创建密码文本框 177
0311 如何创建只读文本框 177
0312 如何在文本框字符串中放置引号 177
0313 如何在TextBox控件中查看多个行 177
0314 如何TextBox控件中显示回车符 178
9.2 RichTextBox控件应用技巧 178
0315 删除RichTextBox控件中的部分文字 178
0316 RichTextBox与TextBox控件有何不同 179
0317 如何使用RichTextBox控件显示文件 179
0318 如何使用RichTextBox控件保存文件 180
0319 如何在RichTextBox控件中查找字符 181
0320 如何在RichTextBox控件插入图片 181
0321 如何为RichTextBox控件添加快捷菜单 182
0322 在RichTextBox控件中替换文本文字 183
9.3 Button控件应用技巧 183
0323 C#中轻松打造绚丽按钮 183
0324 如何使Button控件大小自动适应文本长度 184
0325 如何设置窗体一个默认单击按钮 184
0326 如何设置窗体一个默认取消按钮 184
0327 如何给按钮控件创建快捷键 185
0328 如何触发Button按钮的Click事件 185
0329 使用控件的Tag属性传递信息 185
0330 如何在Windows窗体上停靠控件 186
0331 如何动态创建Button控件 186
9.4 DataGridView控件应用技巧 187
0332 如何对DataGridView控件进行数据绑定 187
0333 如何在DataGridView控件中设置数据的格式 187
0334 如何在DataGridView控件基于文本的单元格中启用换行 187
0335 如何设置DataGridView控件单元格的文本对齐方式 187
0336 如何在DataGridView控件中验证数据输入 188
0337 DataGridView控件中输入数据时发生的错误 188
0338 如何设置DataGridView控件中网格线的样式 189
0339 如何设置DataGridView控件中的边框样式 189
0340 如何设置DataGridView控件中字体样式 190
0341 如何设置DataGridView控件中颜色样式 190
0342 获取DataGridView控件中单元格、行和列坐标 190
0343 如何获取DataGridView控件中的当前单元格 191
0344 如何禁止DataGridView控件中添加和删除行 191
0345 DataGridView控件选中单元格时整个行背景变色 191
0346 如何复制DataGridView控件单元格中的数据 191
0347 如何在DataGridView控件实现下拉列表 192
9.5 对话框控件应用技巧 192
0348 如何利用FontDialog控件设置字体 192
0349 如何利用ColorDialog控件设置字颜色 193
0350 如何利用OpenFileDialog控件打开文件 193
0351 如何获得弹出对话框的相关返回值 194
0352 使用FolderBrowserDialog控件选择文件夹 195
9.6 ListBox控件应用技巧 195
0353 如何快速选中ListBox控件中全部条目 195
0354 如何排序ListBox控件中的数据 196
0355 如何实现ListBox控件的多项选择功能 196
0356 如何在ListBox控件中查找指定的项 196
0357 实现ListBox控件与ListBox控件交换数据 197
9.7 ListView控件应用技巧 198
0358 如何实现ListView控件实现动态加载数据 198
0359 如何向ListView控件添加搜索功能 199
0360 如何将数据中的表内容填充到ListView控件中 200
0361 如何使ListView控件拥有编辑功能 201
0362 如何实现ListView控件显示图标与列表 201
0363 如何获取ListView控件中的选择结果 202
0364 如何将图片加载ListView控件 202
9.8 TreeView控件应用技巧 203
0365 如何在TreeView控件结点中显示图片 203
0366 如何在TreeView控件中用鼠标右键选中节点 203
0367 区分TreeView控件选中各节点方式 204
0368 如何实现TreeView控件节点拖放操作 204
0369 如何实现带复选框的TtreeView控件 205
0370 如何实现TreeView控件遍历磁盘目录 206
0371 如何将数据库字段填充到TreeView控件 206
9.9 ComboBox控件应用技巧 207
0372 如何使ComboBox下拉列表显示图片 207
0373 ComboBox只能从下拉列表框中选择数据 208
0374 如何实现带查询功能的ComboBox控件 208
0375 如何实现文件目录名称填充ComboBox控件 209
0376 如何将数组绑定到ComboBox控件 210
0377 如何将数据库字段绑定到ComboBox控件 210
9.10 组件应用技巧 211
0378 如何使用ProgressBar控件显示操作的进度 211
0379 如何使用ToolTip控件显示提示信息 211
0380 如何使用FlowLayoutPanel控件布局窗体 212
0381 如何使用SplitContainer控件分隔窗体 213
0382 如何使用Process组件打开系统进程 214
0383 FileSystemWatcher监视文件夹内文件的更改 214
9.11 其他常用件控件应用技巧 215
0384 如何在状态栏中显示时间 215
0385 如何在状态栏中加载图片 215
0386 如何设置DateTimePicker控件显示为空文 215
0387 如何判断ToolStrip控件Button控钮的单击 215
0388 如何实现Panle自动调整大小充满窗体 216
0389 如何实现CheckedListBox控件选重所有项 216
0390 如何实现CheckBox控件的选择状态 216
0391 如何使Lable控件显示出多行文字 217
0392 如何使用LinkLabel控件实现超级链接 217
0393 如何设置MaskedTextBox控件输入验证 218
0394 如何使用NotifyIcon控件创建任务托盘 219
0395 如何控制PictureBox控件显示图片风格 219
第10章 Web页面设计 221
10.1 网页外观设计 222
0396 将CSS样式表应用到页面中 222
0397 在页面的源码中直接定义样式表 222
0398 动态加载主题到页面中 223
0399 利用Table布局Web页面 223
0400 FrameSet框架的应用 224
0401 IFrame框架的应用 224
0402 页面尺寸自动适应1024×768像素和800×600分辨率 225
10.2 网页性能设计 225
0403 用meta标签来增强网页性能 225
0404 什么情况下使用缓冲会提高速度 226
0405 使用OutputCache指令实现页面缓存 226
0406 设置网页缓存的位置 227
0407 使用Cache类实现应用程序数据缓存 227
0408 缓存网页的不同版本 227
10.3 Web页的绑定 228
0409 如何绑定变量 228
0410 如何绑定集合 228
0411 如何绑定表达式 229
0412 如何绑定方法结果 230
0413 巧用DataBinder.Eval()方法进行数据绑定 230
0414 如何将DropDownList控件绑定到GridView控件中 231
10.4 开发Web页的常用功能 231
0415 使用QueryString变量在页面之间传值 231
0416 页面定时刷新如何实现 232
0417 显示只有数字的验证码图片 232
0418 显示数字和英文字母组合的验证码图片 232
0419 页面定时刷新后跳转到其他页 233
0420 打开新的窗口并传送参数 233
0421 动态显示用户头像 233
0422 利用Pannel控件显示和隐藏一组控件 233
0423 如何在GridView控件上添加删除确认 234
0424 如何为GridView控件添加编号列 234
0425 FindControl方法的应用 234
0426 如何实现单击表格行打开另一页并传递参数 235
0427 如何实现双击表格行超级链接到另一页并传递参数 235
0428 如何实现单击表格行改变颜色 235
0429 鼠标移动改变表格行的颜色 235
0430 如何在Web页中使用表格控件 236
10.5 Web.Config文件的配置 237
0431 通过Encoding的设置实现页面无乱码 237
0432 限制上传文件大小与时间 237
0433 配置验证级别 237
10.6 开发Web页其他功能 238
0434 如何使Pannel实现横向滚动纵向自动扩展 238
0435 属性MaintainScrollPositionOnPostBack实现网页定位 238
0436 自动隐藏式菜单 238
0437 关闭弹出窗口刷新父窗口 239
0438 弹出网页模式对话框 240
0439 弹出全屏显示网页 241
0440 为什么要生成静态页 242
0441 用快捷键〈Ctrl〉+〈N〉实现屏蔽 242
0442 如何在Web页中使用广告控件 242
0443 滚动显示博客公告 243
第11章 HTML客户端控件与服务器控件 245
11.1 数据控件应用技巧 246
0444 如何将数组绑定到GridView数据控件中 246
0445 使用GridView Web服务器控件绑定数据源 246
0446 使用GridView Web服务器控件自定义外观风格 247
0447 使用GridView Web服务器控件的简单排序 247
0448 如何在GridView Web服务器控件中分页 248
0449 使用GridView Web服务器控件编辑数据 249
0450 使用GridView Web服务器控件删除数据 251
0451 如何使用GridView Web服务器控件选择数据 252
0452 单击GridView控件按钮刷新保持原来的位置 253
0453 向GridView Web控件中添加CheckBox控件 253
0454 如何使用GridView Web控件实现超级链接 254
0455 在GridView Web控件中高亮显示鼠标所在行 256
0456 实现DataList Web服务器控件数据绑定功能 256
0457 如何实现DataList Web服务器控件分页功能 258
0458 实现查看DataList控件中数据的详细信息 259
0459 如何在DataList控件中创建多个列 260
0460 如何实现DetailsView控件分页功能 261
0461 将DataSet类对象绑定到Repeater数据控件中 262
11.2 导航控件应用技巧 263
0462 TreeView、SiteMapDataSource控件和SiteMap文件实现导航 263
0463 如何在TreeView控件中添加连接线 264
0464 以编程方式向TreeView控件中添加节点 264
0465 如何在TreeView控件中显示CheckBox控件 265
0466 如何判断TreeView控件中被勾选的节点 265
0467 用SiteMapPath控件绑定SiteMap文件实现导航 266
0468 如何设置SiteMapPath控件路径分隔符 266
0469 如何设置SiteMapPath控件路径方向 267
0470 如何设置SiteMapPath控件父节点显示个数 267
0471 如何设置SiteMapPath控件提示字符 268
0472 如何用Menu控件绑定SiteMap文件实现导航 268
0473 如何设置Menu控件显示静态菜单 269
0474 如何以编程方式创建Menu控件 270
11.3 标准控件应用技巧 271
0475 使用HyperLink服务器控件实现页面间传值 271
0476 如何使用Input(Reset)实现文本框清空功能 271
0477 如何取消DropDownLidt控件的激发验证 272
0478 使用FileUpload服务器控件实现文件上传 272
0479 使用LinkButton服务器控件实现超级链接 273
0480 实现DropDownList服务器控件的数据绑定 273
0481 如何改变DropDownList服务器控件中的项 274
0482 指定ListBox服务器控件中的项的目的移位顺序 275
0483 响应ListBox服务器控件的改变事件 276
0484 如何使用CheckBox服务器控件 276
0485 如何使用CheckBoxList服务器控件 277
0486 使用RadioButtonList服务器控件巧用单项选择 278
0487 使用BulletedList控件显示项目符号和编号 279
0488 如何使用HiddenField控件 280
0489 如何使用Literal控件显示静态文本 281
0490 如何使用AdRotator控件制作广告 281
0491 如何使用Wizard Web服务器控件制作导航页 282
0492 使用XML服务器控件转换XML文档 283
0493 使用Multi View与View控件制作导航页面 286
0494 使用PlaceHolder控件实现动态添加控件 289
0495 如何实现带滚动条的Panel面板 290
0496 使用Substitution控件在缓存页面插入内容 290
第12章 内置对象 293
12.1 ASP.NET基本对象 294
0497 使用Session对象在页面之间传值 294
0498 如何使用Session验证用户登录 294
0499 配置Session的生命周期 294
0500 如何遍历Session对象 295
0501 使用Application对象在页面之间传值 295
0502 存取Application变量内容 295
0503 如何锁定Application对象 296
0504 如何使用Application实现站点访问量统计 296
0505 如何删除Application变量内容 296
0506 使用ViewState对象在同一个页面传值 297
12.2 Response与Request对象 297
0507 如何解决Response.Redirect方法传递汉字时出现的错误 297
0508 使用Response.BinaryWrite方法输出二进制图像 297
0509 Response对象将文本文件的内容写回客户端浏览器 298
0510 如何使用Request接收页面间传值 298
0511 使用Request对象的Browser属性获取客户端浏览器信息 298
0512 获取客户端和服务器端IP地址 299
0513 使用Request对象获取客户端的表单信息 300
0514 使用Request对象的PhysicalApplicationPath属性获取服务器的绝对路径 300
0515 使用Request对象的CurrentExecutionFilePath属性获取当前页面的路径 300
0516 如何获取ASP.NET中所有Request的属性 300
0517 缓存区的应用 301
12.3 Cookie对象 302
0518 使用Cookie的优缺点 302
0519 使用Cookie对象在页面之间传值 302
0520 如何使用Cookie验证用户登录 303
0521 Cookie可以存储哪些值 303
0522 使用Cookie对象保存和读取客户端信息 303
0523 如何加密Cookie中的数据 304
0524 创建及存取多个键值的Cookie对象 304
0525 如何遍历Cookie集合 304
0526 设定Cookie变量的生命周期 305
0527 如何删除客户端的Cookies 305
0528 如何删除多值Cookie中的某个值 305
0529 如何使用Cookie处理网上重复投票 305
0530 如何使用户第2次访问我的网站不用提交信息 306
12.4 Server对象 307
0531 使用Server.Transfer方法在页面之间传值 307
0532 使用Server.MapPath方法获取服务器的物理地址 308
0533 使用Server.UrlEncode方法对字符串进行编码 308
0534 使用Server.UrlDecode方法对字符串进行解码 308
0535 利用Server对象进行HTML编码输出 308
0536 利用Server对象进行HTML解码输出 309
第13章 图形图像技术 311
13.1 图像预览及转换 312
0537 如何设计缩略图功能的图片浏览器 312
0538 如何浏览大图片 312
0539 如何局部放大图片 313
0540 如何实现剪切图片 313
13.2 图形缩放与变换 315
0541 如何缩放图片 315
0542 如何转换图像文件格式 315
13.3 图像效果 316
0543 如何以底片效果显示图像 316
0544 如何以浮雕效果显示图像 317
0545 如何以黑白效果显示图像 318
0546 如何以柔化效果显示图像 319
0547 如何以锐化效果显示图像 320
0548 如何以雾化效果显示图像 321
0549 如何以光照效果显示图像 322
0550 如何以百叶窗效果显示图像 323
0551 如何以马赛克效果显示图像 325
0552 如何以任意角度旋转图像 326
0553 如何以椭圆形显示图像 327
0554 如何以不同的透明度显示图像 328
0555 如何以不同分辨率显示图像 328
0556 如何以不同翻转方式显示图像 329
0557 如何以油画效果显示图像 330
0558 如何以扭曲效果显示图像 331
0559 如何以分块效果显示图像 332
0560 如何以四周扩散方式显示图像 333
0561 如何以从上向下拉伸方式显示图像 334
0562 如何以从左向右拉伸方式显示图像 335
0563 如何以上下反转方式显示图像 335
0564 如何以上下对接方式显示图像 336
0565 如何以左右反转方式显示图像 337
0566 如何以左右对接方式显示图像 338
0567 如何以淡入淡出效果显示图像 339
0568 如何以积木效果显示图像 341
13.4 图像字体 342
0569 如何以渐变色效果显示文字 342
0570 如何以倾斜效果显示文字 343
0571 如何以阴影效果显示文字 343
0572 如何以倒影效果显示文字 344
0573 如何以投影效果显示文字 344
0574 如何以浮雕效果显示文字 345
0575 如何以印版效果显示文字 346
0576 如何为文字填充图片纹理 346
0577 如何创建可旋转文字 347
13.5 图像识别及图像工具 347
0578 如何获取图像的像素值 347
0579 如何设置图像的像素值 348
0580 如何校正图像显示颜色 349
0581 如何使用阈值校正图像显示颜色 351
0582 如何获得图像信息 352
0583 如何制作简单的画图工具 353
0584 如何将图片以Image类型存储到数据库 356
0585 如何从数据库中读取Image类型的字段 357
13.6 图像应用及其他 358
0586 如何在Web页面上显示图像 358
0587 绘制渐变背景图像 359
0588 确定鼠标是否在图形范围内 359
0589 如何绘制柱形图 360
0590 如何绘制饼形图 362
0591 如何绘制折线图 364
0592 如何绘制图形验证码 366
0593 如何在桌面上全屏显示图像 367
0594 如何利用Image制作小动画 368
0595 如何使用鼠标拖动图片 368
0596 如何获取当前鼠标的形状 369
第14章 动画与多媒体 371
14.1 声音控制 372
0597 如何播放WAV声音文件 372
0598 如何播放默认的Beep事件声音 372
0599 如何播放默认的Hand事件声音 372
0600 如何播放默认的Asterisk事件声音 372
0601 如何播放默认的Question事件声音 373
0602 如何播放默认的Exclamation事件声音 373
0603 如何设置计算机喇叭发出的声音 373
0604 如何同步加载并播放声音文件 374
0605 如何异步加载并播放声音文件 374
14.2 多媒体及其他 375
0606 C#实现动画效果 375
0607 C#设计屏幕保护程序 375
0608 如何实现滚动字幕 376
0609 如何播放AVI动画文件 376
0610 如何播放Flash 377
0611 用C#实现家庭影集 378
0612 C#实现电影特效 379
0613 如何实现Word艺术字 379
0614 检查是否安装声卡 380
0615 带有记忆功能的MP3 380
0616 打开和关闭光驱 381
0617 如何收听网络电台 382
0618 如何通过剪贴板复制粘贴图像 382
0619 如何转换图像文件的保存格式 383
0620 如何制作自动播放的MP3播放器 384
0621 学校体操定时音乐播放 385
0622 如何从ARGB分量值创建Color结构 385
0623 如何动画显示窗体 386
0624 如何获取系统的图像编码器信息 387
0625 如何获取系统的图像解码器信息 388
第15章 键盘与鼠标 389
15.1 鼠标操作技巧 390
0626 鼠标双击窗体时模拟键盘Tab键操作 390
0627 定义鼠标指针形状 390
0628 自定义鼠标的图片 391
0629 鼠标拖放复制文本 391
0630 如何使用鼠标单击添加控件 392
0631 如何获得鼠标在窗体上的位置 392
0632 如何交换鼠标左右键功能 392
0633 如何隐藏和显示鼠标 393
0634 如何获取光标闪烁的频率 394
0635 如何获得屏幕上鼠标的坐标 394
0636 如何限制鼠标在某一区域工作 394
0637 如何利用鼠标绘图 395
0638 如何获取鼠标双击时间间隔 396
0639 如何获取鼠标键数 396
0640 如何显示鼠标的等待光标 397
0641 如何禁用鼠标左键 397
0642 如何模拟鼠标操作 398
0643 如何实现鼠标穿透窗体 399
0644 如何记录鼠标行为 399
15.2 键盘操作技巧应用 400
0645 如何禁用输入法编辑器 400
0646 如何打开和关闭输入法编辑器 400
0647 回车转换成Tab键 400
0648 如何获取组合键 401
0649 如何获取功能键 401
0650 如何判断NumLock键和CapsLock键是否锁定 401
0651 如何屏蔽〈Alt〉+〈F4〉键关闭窗体 402
0652 如何实现按下〈Esc〉键关闭窗体 402
0653 如何避免按〈Enter〉键产生“嘀”声 403
0654 如何设置键盘热键 403
第16章 文件、文件管理及数据流 405
16.1 获取文件基本信息 406
0655 获取文件创建的日期和时间 406
0656 如何检索路径中的文件名和扩展名 406
0657 如何获得文件的大小 407
0658 如何修改文件属性 407
0659 如何监视文件系统变化情况 408
0660 如何获取文件的系统启动方式 408
0661 如何获取文件名禁止使用的字符 409
0662 如何获取路径名禁止使用的字符 410
0663 如何获取指定目录的上级目录 410
16.2 文件基本操作 411
0664 判断文件是否存在 411
0665 创建一个文件用于写入UTF-8编码的文本 411
0666 OpenRead方法打开现有文件并读取 412
0667 打开现有UTF-8编码文本文件并进行读取 412
0668 OpenWrite方法打开现有文件并进行写入 413
0669 如何读取文件中的第一行数据 413
0670 如何向文件中写入数据 413
0671 如何读取文件中所有数据 414
0672 如何创建临时文件 414
0673 如何实现文件替换 415
0674 使用递归法删除文件夹中所有文件 415
0675 如何更改文件扩展名 416
0676 如何实现复制文件 416
0677 如何修改文件名 416
0678 如何删除文件 417
0679 如何上传文件 417
0680 如何下载文件 418
0681 如何拖放文件 419
0682 如何搜索文件 419
16.3 文件夹基本操作 420
0683 如何创建文件夹 420
0684 如何移动文件夹 420
0685 如何修改文件夹名称 421
0686 如何遍历文件夹 421
0687 如何删除文件夹 422
16.4 数据流操作 422
0688 如何读写内存数据流 422
0689 如何创建二进制文件 423
0690 如何读取二进制文件 423
0691 如何使用缓冲流 424
16.5 加密、解密及解压缩文件 425
0692 加密和解密文件 425
0693 如何使用对称算法加密文件 425
0694 如何使用对称算法解密文件 426
0695 如何使用GZip压缩文件 427
0696 如何使用GZip解压文件 428
0697 如何使用WinRAR压缩文件 429
0698 如何使用WinRAR解压文件 429
16.6 其他 430
0699 设置文件的访问模式 430
0700 如何在C#应用程序中使用INI文件 430
0701 如何操作帮助文件 431
0702 如何操作Word文件 432
0703 如何操作Excel文件 433
0704 如何将文本文件转换成网页文件 434
0705 如何产生随机文件夹名或文件名 435
0706 如何将长文件名转换成短文件名 436
0707 如何用程序创建XML文档并写入内容 436
0708 如何通过DataSet对象读取XML文件 438
0709 如何动态创建XML文件节点 439
0710 如何实现XML文件数据类型的转换 439
0711 将图片保存到XML文件中 440
0712 如何比较两个文件的内容是否相同 440
0713 如何以缩略图形式上传图片文件 441
0714 如何解析只有一种格式的文本文件 442
0715 如何解析含有多种格式的文本文件 443
第17章 Windows开发技术 446
17.1 获取计算机系统信息 446
0716 如何获取系统时间 446
0717 如何获取系统目录 446
0718 如何获取计算机名称 446
0719 如何获取当前程序运行目录 446
0720 如何获得操作系统版本号 446
17.2 获取计算机硬件信息 446
0721 如何获取CPU编号 446
0722 如何获取显示设备的PNPDeviceID 447
0723 如何获取声音设备的PNPDeviceID 447
0724 如何获取硬盘编号 447
0725 如何获取CPU的版本信息 448
0726 如何获取CPU的产品名称信息 448
0727 如何获取CPU的制造商名称 448
0728 如何获取主板制造商 449
0729 如何获取主板编号 449
0730 如何获取主板型号 449
0731 如何获取磁盘空间 450
0732 如何获取磁盘剩余空间 450
0733 如何确定屏幕的分辨率 451
0734 如何获得磁盘的卷标 452
0735 如何获得磁盘的文件系统类型 452
17.3 获取特殊文件夹路径 453
0736 如何获取ProgramFiles目录全路径 453
0737 如何获取桌面目录全路径 453
0738 如何获取开始菜单目录全路径 454
0739 如何获取用户程序组目录全路径 454
0740 如何获取文档模板目录全路径 455
0741 如何获取收藏夹目录全路径 455
0742 如何获取共享组件目录全路径 456
0743 如何获取我的图片目录全路径 456
0744 如何获取Internet历史记录全路径 457
0745 如何获取Internet临时文件目录全路径 457
0746 如何设置可用样式 457
17.4 获得Windows当前用户 458
0747 如何获取当前用户 458
0748 如何判断当前用户是否是普通用户 458
0749 如何判断当前用户是否是超级用户 458
0750 如何判断当前用户是否是系统管理员 459
0751 如何判断当前用户是否是系统操作员 459
0752 如何判断当前用户是否是备份操作员 460
0753 如何判断当前用户是否是打印操作员 460
0754 如何判断当前用户是否是复制程序员 461
0755 如何判断当前用户是否是账户操作员 461
17.5 Windows日志 462
0756 如何获取系统日志信息 462
0757 如何获取安全日志信息 462
0758 如何获取应用程序日志信息 463
0759 如何创建并写入自定义日志信息 464
0760 如何向系统日志写入自定义数据 464
0761 如何向应用程序日志写入自定义信息 465
17.6 计算机控制 465
0762 列举系统中所有窗口 465
0763 C#实现键盘钩子 465
0764 如何关闭计算机 466
0765 如何抓屏 466
0766 如何休眠计算机 467
0767 如何禁止使用Windows任务管理器 468
0768 如何为文件新增右键菜单项 468
0769 如何设置系统仅能运行的程序 469
0770 如何获取本地计算机上所有的进程 469
0771 如何启动一个进程 470
0772 怎样杀死一个进程 470
0773 如何获取远程计算机上所有的进程 470
17.7 其他相关技术 470
0774 如何在注册表中保存窗体的大小和位置 470
0775 如何实现程序间注册表内传递变量 471
0776 在使用OpenFileDialog中的相对路径问题 471
0777 如何设置启动时自动执行程序 471
0778 C#编程实现Windows XP风格的界面 471
0779 用C#实现文件查找功能 473
0780 如何序列化对象 473
0781 如何实现特殊形状的窗体 474
0782 如何移动正在使用的文件 474
0783 如何实现类似QQ的程序界面 475
0784 如何实现动画显示窗体 476
0785 如何显示和隐藏任务栏 477
0786 如何实现OutLook界面 478
0787 如何在C#中回车换行 478
0788 如何获取进程的命令行 479
0789 如何按行读取文本并显示行数 479
0790 如何在Form中嵌入Excel 479
0791 如何使用互斥量禁止程序运行两个实例 480
0792 如何使用进程名禁止程序运行两个实例 480
0793 如何获取控制台应用程序的显示结果 481
0794 如何用@代替路径中的转义字符 482
第18章 程序应用控制 483
18.1 提取信息 484
0795 判断驱动器类型并获取其属性 484
0796 如何得到本地机器的IP 484
0797 如何得到本地运行的EXE的路径 485
0798 得到计算机所有正在运行的进程 485
0799 获得Windows的启动模式 485
0800 获取鼠标的按钮个数及鼠标安装状态 485
0801 检测计算机是否存在网络连接 486
0802 如何判断计算机的联机状态 486
0803 获取计算机屏幕分辨率 486
0804 获取计算机当前登录的用户名称 486
18.2 系统控制 486
0805 远程关闭或重新启动计算机 486
0806 创建应用程序快捷方式 487
0807 启动Windows系统服务 488
0808 在C#应用程序中控制输入法 488
0809 打开“区域和语言选项”对话框并指定选项卡 489
0810 如何执行命令行命令? 489
0811 如何修改计算机的默认打印机 490
0812 如何实现行业软件系统注销功能 490
0813 如何将计算机设置为休眠状态 490
0814 在Windows系统中建立事件日志 491
0815 如何使PC喇叭发音 491
18.3 程序控制 491
0816 使用回车键控制鼠标焦点 491
0817 如何调用可执行应用程序 492
0818 TextBox上禁用鼠标右键 492
0819 如何实现屏幕截图 492
0820 如何将截取的图片保存为指定图片格式 493
0821 如何复制程序本身 493
0822 分段显示电话号码颜色 493
0823 软件版本号是如何组成的 493
0824 单击“关闭”按钮或按〈Alt〉+〈F4〉键时最小化窗口 494
0825 屏蔽RichTextBox控件〈Ctrl〉+〈V〉快捷键 495
18.4 其他 495
0826 将DataGridView控件中的数据导入Excel 495
0827 无法获取自定义环境变量的值 496
0828 将组件放到COM+服务器上去 496
0829 调用非托管的DLL文件 497
0830 如何将GridView控件数据导入Word 497
0831 如何将GridView控件数据导入Excel 497
0832 单片机如何实现在线调试 498
0833 单片机如何实现内存优化管理 498
0834 单片机实现文件系统管理 498
0835 杀死进程 498
0836 如何下载某网站上的图片资源 498
第19章 SQL查询相关技术 501
19.1 常用SQL查询技术 502
0837 如何在查询中正确使用单引号“’” 502
0838 SQL中SELECT语句的执行顺序 502
0839 在查询时查询数据为指定长度的数据 502
0840 如何利用WHERE参数过滤数据 503
0841 如何正确地理解和运用SQL中的判式 503
0842 如何正确地理解和使用SQL中的关键字 503
19.2 比较、逻辑运算符查询 504
0843 如何使用算术运算符号进行比较查询 504
0844 如何使用比较运算符号进行比较查询 504
0845 如何使用AND逻辑运算符查询 505
0846 如何使用OR逻辑运算符查询 506
0847 如何联合使用AND和OR运算符查询 506
0848 如何在查询中正确使用逻辑操作符 507
0849 利用通配符进行查询 507
19.3 SQL关键字查询 508
0850 如何使用ESCAPE关键字规定转义字符 508
0851 如何使用BETWEEN进行范围查询 508
0852 如何使用NOT BETWEEN进行范围查询 509
0853 如何使用GROUP BY子句查询 509
0854 如何使用HAVING语句过滤分组数据 510
0855 如何使用ALL关键字查询 510
0856 如何使用CUBE关键字查询 511
19.4 表结构与性能 511
0857 检测信息是否存在 511
0858 @@CPU_BUSY获取CPU的工作时间 511
0859 如何获取磁盘读写次数 512
0860 获取SQL Server服务器名 512
0861 获取数据库标识号 512
0862 判断用户是否访问数据的权限 512
0863 显示表中列信息 512
0864 显示表中任意列名称 513
0865 提高SQL性能加快执行速度 513
0866 控制批处理内语句的执行 513
0867 执行查询但是显示列信息 514
0868 获取连接或试图连接的次数 514
0869 获取当前数据库的语言名 514
19.5 时间与谓词 514
0870 时间函数的使用 514
0871 设置数据库时间表显形式 515
0872 格式化日期显示格式 515
0873 如何正确理解SQL中的NULL值 516
0874 如何使用IsNull()函数来处理空值 516
0875 如何使用Nullif()函数来处理空值 516
0876 查询空值(NULL)的技巧 517
0877 利用关键字DISTINCT去除重复记录 517
0878 巧用TOP子句获取信息 518
0879 巧用CONTAINS谓词检索信息 518
0880 通过ISNULL替换信息 519
0881 比较COMPUTE和GROUP BY 519
0882 如何对指定时间段进行查询 519
0883 对某期间的数据进行查询的几种方法 519
0884 NOT与谓词进行组合条件的查询 520
19.6 聚合函数 520
0885 聚合函数SUM的使用 520
0886 聚合函数AVG的使用 521
0887 如何使用聚合函数MAX 521
0888 如何使用聚合函数MIN 522
0889 如何使用聚合函数COUNT 522
0890 如何使用聚合函数First或Last 523
19.7 子查询与连接查询 523
0891 union与连接之间的区别 523
0892 如何应用IN查询表中的记录信息 524
0893 使用一个单行的子查询来更新列 524
0894 使用IN引入子查询限定查询范围 524
0895 在UPDATE语句中应用子查询 525
0896 如何应用子查询 525
0897 EXISTS与子查询联合应用 525
0898 在FROM子句中的子查询 525
0899 在DELETE语句中应用子查询 526
0900 子查询与聚合函数的应用 526
0901 有效使用内连接 526
0902 如何使用LEFT OUTER JOIN查询 526
0903 如何使用RIGHT OUTER JOIN查询 527
0904 利用CASE语句查询结果 527
19.8 交叉表 528
0905 Access中利用TRASFORM分析数据 528
0906 Access中利用TRASFORM动态分析数据 529
0907 SQL Server实现静态交叉表 529
0908 SQL Server实现动态交叉表 531
19.9 常用数据操作 532
0909 如何对字符串进行查询 532
0910 如何进行单条数据的添加 533
0911 如何进行批量数据的添加 533
0912 如何对数据进行修改 534
0913 如何对数据进行删除 534
0914 对数据库数据进行局部删除 534
19.10 高级应用 535
0915 如何使用临时表 535
0916 如何查询表中的列名 535
0917 在查询中如何防止输入指定符串 536
0918 查询指定长度的数据 536
0919 获取当前数据库的详细信息 537
0920 在查询过程中灵活定义与使用别名 538
19.11 视图、存储过程和触发器的使用 538
0921 如何正确认识视图 538
0922 如何获取数据库中的全部用户视图 539
0923 如何通过视图修改数据 539
0924 如何正确理解存储过程 540
0925 如何获取数据库中的全部存储过程 540
0926 如何正确认识触发器 541
0927 Update触发器在系统日志中的应用 542
0928 触发器的嵌套使用 542
0929 获取数据库中的触发器 543
19.12 其他 544
0930 在查询程序中使用变量 544
0931 对查询结果进行排序 544
0932 批量获取结果集信息 545
0933 对查询结果生成表 545
0934 实现数据类型转换 546
0935 获取当前数据库的登录用户名 546
0936 如何正确理解数据库键字 546
0937 将结果转换为XML形式 547
0938 追加查询结果到已存在的表 547
0939 利用对多个表中的字段创建新记录集 547
0940 利用EXECUTE执行SQL语句 548
第20章 数据库技术 549
20.1 Access数据库的使用 550
0941 如何为Access数据库设置密码 550
0942 如何创建加密的Access数据库 550
0943 建立Access数据库连接 551
0944 与加密后的Access数据库建立连接 551
0945 如何提取Access数据库中的数据表名 551
0946 随机读取Access数据库记录 552
0947 将Access数据库导入到Excel中(ASP.NET) 552
0948 在.NET 2.0框架下动态创建Access数据库 553
0949 在.NET 2.0框架下动态创建Access数据表 553
0950 如何备份Access数据库 554
20.2 SQL数据库的使用 554
0951 建立SQL Server数据库连接 554
0952 如何使用ODBC访问SQL Server数据库 555
0953 读取SQL Server数据表结构 556
0954 在C#中分离SQL Server数据库 557
0955 C#中附加SQL Server数据库 558
0956 C#中附加单文件SQL Server数据库 559
0957 备份SQL Server数据库 559
0958 还原SQL Server数据库 560
0959 开启SQL Server数据库服务 561
0960 断开SQL Server数据库服务 562
0961 如何判断SQL Server数据库连接状态 562
0962 获取连接SOL Server数据库的名称 563
0963 获取SQL Server的连接统计数据 563
0964 如何调用SQL Server存储过程 563
0965 如何生成SQL数据库脚本 564
0966 SQL Server 2000无法安装的解决办法 565
20.3 其他 565
0967 如何判断记录是否为NULL 565
0968 建立Oracle数据库连接 566
0969 如何在数据表中设置主键 566
0970 DataSet读取XML文件中数据作为数据源 567
0971 如何读取Fox的DBF文件 567
0972 通用方法实现数据增、删、改功能 567
0973 通用方法获取查询结果DataSet数据集 568
0974 同时查询多条SQL语句 568
0975 如何判断是否查询到结果 568
0976 将图片以二进制格式存储到数据库中(asp.net) 569
0977 从DataReader对象读取数据的技巧 569
0978 随机显示数据库记录 569
0979 通过DataTable获得数据表的主键 569
0980 将Access数据库转化为SQL Server数据库 570
0981 将SQL Server数据库转化为Access数据库 571
0982 如何避免数据库死锁现象 572
0983 如何调用带输入参数的存储过程 572
0984 如何获取存储过程返回的结果集 573
0985 取得数据表某个单元格的值 573
0986 在ASP.NET2.0下将数据绑定DropDownList 573
0987 在ADO.NET中实现数据库的事务处理 574
0988 将任意文件保存到数据库中 574
0989 将存储在数据库中的文件提取出来 575
0990 合并具有相同数据表结构的查询结果 575
0991 使用DataTable进行数据检索 575
0992 使用DataView对数据进行检索和排序 576
0993 使用DataSet建立DataTable明细表 576
第21章 打印与报表技术 549
21.1 报表设计技术 550
0994 如何快速创建水晶报表 580
0995 如何编写带图片的报表 582
0996 如何使图片成为整个报表的背景 583
0997 如何设置水晶报表中节的背景图片 583
0998 如何设置水晶报表中节的背景色 584
0999 如何设置水晶报表的页面 584
1000 如何在报表中添加节 584
1001 如何在报表中移动节的顺序 585
1002 如何在报表中合并节 585
1003 如何在报表中册除节 585
1004 如何在报表中显示与隐藏节 586
1005 如何设置多列样式报表 586
1006 如何设置报表中节的高度 587
1007 如何设置报表的摘要信息 587
1008 如何设置报表的打印日期与时间 587
21.2 报表格式化类对象技巧 588
1009 如何在报表中使用文本对象 588
1010 如何移动对象操作 588
1011 如何对齐多个对象 589
1012 如何使用公式字段 589
1013 如何在报表中使用线 590
1014 如何在报表中使用方框 590
21.3 报表数据排序与分组技巧 591
1015 如何排序报表数据 591
1016 如何报表数据分组 591
1017 如何报表中筛选数据 592
1018 如何对分组报表中的页码进行设置 592
21.4 报表的应用技巧 593
1019 如何在水晶报表中使用交叉表 593
1020 如何在水晶报表中使用子报表 594
1021 如何动态显示子报表 596
1022 如何删除子报表 597
1023 如何在报表中计算百分比 597
21.5 Windows打印控件应用技巧 599
1024 如何使用PrintDocument控件打印窗体数据 599
1025 如何使用PrintPreviewContronl控件预览 599
1026 使用PrintPreviewDialog对话框 600
1027 如何使用PrintDialog对话框打印 601
1028 如何使用PageSetupDialog对话框设置页面 601
1029 如何使用PrintDocument控件打印文本文件 602
第22章 C#高级应用开发 605
22.1 线程的使用 606
1030 如何开始一个线程 606
1031 如何结束一个线程 606
1032 如何使线程休眠 606
1033 如何挂起一个线程 606
1034 如何判断线程的状态 606
1035 如何实现线程的同步 607
1036 如何避免死锁 607
22.2 .NET 2.0的新特性 607
1037 如何使用泛型 607
1038 如何使用匿名方法 608
1039 如何使用迭代器 609
1040 如何使用分部类 610
22.3 C#WebService 610
1041 建立SQL Server返回数据集WebService 610
1042 利用WebService传送图片 611
22.4 文件监视 611
1043 如何监视文件的创建 611
1044 如何监视文件的改变 612
1045 如何监视文件的重命名 612
1046 如何监视文件的删除 613
22.5 C#高级应用 613
1047 如何将聊天程序做成Windows服务 613
1048 COM+服务解决同时访问大量数据并发性 615
1049 COM+服务实现银行转账系统 617
1050 如何用Remoting技术传送文件 619
1051 大规模数据访问时缓解服务器压力 620
第23章 硬件及相关开发技术 623
23.1 语音卡、IC卡、神龙卡的使用 624
1052 利用语音卡拨打电话 624
1053 客户来电查询系统 625
1054 向IC卡中写入数据 626
1055 从IC卡中读取数据 627
1056 利用IC卡制作考勤程序 628
1057 利用神龙卡制作练歌房点歌程序 629
23.2 串口技术与加密狗技术 631
1058 使用串口传输数据 631
1059 通过串口控制对方计算机 631
1060 密码写入与读出加密狗 633
1061 利用加密狗制作登录程序 634
1062 利用条形码销售商品 635
23.3 其他 636
1063 简易摄像头程序 636
1064 超市摄像头定时监控系统 638
1065 利用短信猫收发短信息 639
1066 利用短信远程关闭计算机 641
1067 短信息采集烟草销售数据 643
第24章 网络开发相关技术 645
24.1 Windows服务控制 646
1068 如何暂停IIS的默认网站 646
1069 如何继续IIS的默认网站 646
1070 如何启动IIS的默认FTP站点 647
1071 如何暂停IIS的默认FTP站点 647
1072 如何继续IIS的默认FTP站点 648
1073 如何停止IIS的默认FTP站点 648
1074 C#如何检测SQL是否启动 649
1075 如何启动IIS的默