关于在netscape中document获取tags的方法

zhangxhsj 2004-01-13 02:48:46
我知道在IE中可以这样做:
var tds;
tds=document.all.tablename.all.tags("td"); //tablename为表格的名字

那么在netscape中该怎么写呢?
...全文
51 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangxhsj 2004-01-13
  • 打赏
  • 举报
回复
这种方法是通用的吧,那就可以把document.all这种用法去掉了.
cloudchen 2004-01-13
  • 打赏
  • 举报
回复
document.getElementById("tablename").getElementsByTagName("td")
CuteEditor for ASP.NET文版是建立在Html基础之上,最简单易用、功能最强大的所见即所得Asp.net在线编辑器。 CuteEditor可以帮助Asp.net开发者轻松的对原来文本框(Textarea)的内容(包括文字、图片等Html内容)进行编辑,更重要得是这些内容编辑的实现是所见即所得方式。 CuteEditor还集成了文件(包括图片、文档等)上传、媒体(包括视频、声音等,支持YouTube)文件直接插入等对你来说非常实用的功能模块。 对于商业授权用户,他们以完全自己进行操作升级和安全维护,我们制定了多种授权方式供广大用户选择。 CuteEditor功能特点 是什么使CuteEditor成为Html在线编辑器的领航者?除了其强大的功能和方便的使用, 这里还有一些顶尖的技术因素是CuteEditor编辑器成为你编辑和发布Web内容的最佳选择: 跨浏览器、跨平台的所见即所得网页编辑器 Compatible with the most important browsers available in the market: IE 5.5+, Firefox 1.0+, Mozilla 1.3+, Netscape 7+, Chrome and Safari (1.3+). This includes Macintosh and Linux. 界面简洁加载速度快 Numerous optimization methods has been applied. It's clean, compact, extremely fast-loading, but still powerful and efficient. CuteEditor遵循Web标准,没有类似 这种标签 Does your online html editor still use deprecated tags such as ? Cute Editor will help you build sites that adhere to the latest HTML standards, generates clean HTML/XHTML code with no deprecated tags. 能自动清理HTML代码Word标记 When text is pasted from Microsoft Word allot of unnecessary word specific markup is carried across. This can result in web pages that take an unnecessarily long time to download. The Paste from Word button solves this by removing word markup before pasting the text into your page. 对于开发人员来说简单易用 The perfect addition to your content management system! Only a couple lines of code , you don't need to be an expert. Allows you to add an online HTML editing functionality that works with standard HTML form. 很容易用API隐藏按钮和Tabs标记 Cute Editor allows developers to set the image directory, set the controls width, disable image uploading and deleting, restrict access to the source/preview tabs, hide buttons and lists that you don't want your clients to see or access. 高级表格管理 Create and modify tables and table cells. Set their border color, alignment, cellspacing and more! Once you've created a table, simply right click inside of it and use the handy popup menu to change its attributes. ,,,, tags are supported. 图片插入和自动上传 Built-in thumbnail generator. Thumbnail images are dynamically created; Supports upload new images. Paging - specify how many images. Support auto resize images. 用模板来管理内容 The basic idea behind a Content Management System (CMS) is to separate the management of content from design. Cute Editor allows the site designer to easily create and establish templates to give the site a uniform look. Templates may be modified when desired. 在线图像编辑 People that input content on a website are generally not web designers, so most don't have that design & technical fibre in them. With online image editor, you can now edit image file with no image editing software to download or install! Easy drag and drop familiar interface. Resize, change dimensions, scale, crop, add text, optimize, rotate, flip, mirror and add watermark. 把图片存储于数据库 With CuteEditor you can easily use a Sql Server database or access database as the file storage. RTF到HTML的相互转换 With CuteEditor you can easily convert an HTML document into an RTF file and RTF file into HTML or XHTML document. 创建PDF文件 CuteEditor also allows you dynamically create Adobe PDF documents from ASP.NET. 高级文件上传模式 We integrate a hi-performance ASP.NET upload component - Ajax uploader into Cute Editor. Ajax Uploader allows you to select and upload multiple files at once. It also supports client side validation of the file size/type before uploading.

CuteEditor功能特点
是什么使CuteEditor成为Html在线编辑器的领航者?除了其强大的功能和方便的使用, 这里还有一些顶尖的技术因素是CuteEditor编辑器成为你编辑和发布Web内容的最佳选择:
界面简洁加载速度快

由于才有了很多优化方法,所以CuteEditor非常简单、小巧、装载速度快,但仍然保持功能强大、执行效率高的特点。

跨浏览器,跨平台的所见即所得在线html编辑器

兼容市面上最流行的ie5.5+,firefox1.0+,mozilla1.3+, netscape7+和Safari(1.3+)浏览器,并且包括Mac和Linux操作平台。

CuteEditor遵循Web标准,没有类似 这种标签

你的Html编辑器还在使用类似 这种标签么? CuteEditor会帮助你构建用户最新Web标准的html代码标签,自动生成简洁的HTML/XHTML代码。 为什么要遵循Web标准?

学习应用Web标准有很多益处,下面给几个简单例子:

获得好的搜索引擎排名: The separation of content and presentation makes the content represent a larger part of the total file size. Combined with semantic markup this will improve search engine rankings.
更快的下载和加载网页: Less HTML results in smaller file sizes and quicker downloads. Modern web browsers render pages faster when they are in their standards mode than when they are in their backwards compatible mode.
适应未来网页浏览器: When you use defined standards and valid code you future-proof your documents by reducing the risk of future web browsers not being able to understand the code you have used.
代码编写简单,维护方便: Using more semantic and structured HTML makes it easier and quicker to understand code created by somebody else.
适应其他设备: Semantic HTML, where structure is separated from presentation, makes it easier for screen readers and alternative browsing devices to interpret the content.
非常好的适应性: A semantically marked up document can be easily adapted to print and alternative browsing devices, like handheld computers and cellular phones, just by linking to a different CSS file. You can also make site-wide changes to presentation by editing a single file.
Read more:
我的网页符合Web标准,你的呢?
能自动清理HTML代码Word标记

When text is pasted from Microsoft Word allot of unnecessary word specific markup is carried across. This can result in web pages that take an unnecessarily long time to download. The Paste from Word button solves this by removing word markup before pasting the text into your page.

支持W3C WAI和section 508的无障碍引导

Cute Editor optional accessibility settings ensure your site complies with Section 508, so people with disabilities can have full access to your content.

输出的HTML或不错的XHTML供你选择 (Demo)

Cute Editor supports output well-formed XHTML. Your choice of XHTML 1.0 or HTML 4.01 output.


无限次的撤销/恢复

Many of the other editors on the market cannot undo or redo certain actions, and certain table operations - such as cell merge or column deletion. Cute Editor 4.0 has a new custom undo/redo implementation to make you can now safely undo those actions.


多语言支持,通过简单设置XML即可完成 (Demo)

All labels, buttons, tooltips and messages are located in external XML files, so that the language of the editor can be switched with a single property. You can also create a new language in a matter of minutes.

完全支持页面编辑(从 到 ) (Demo)

Cute Editor 4.0 allows you to edit a full HTML page, including , <!DOCTYPE...> and some other options. You can also insert Form elements (checkbox, button, textarea, etc.) and modify certain properties of the element.<br/> <br/> 默认换行为软回车 (Demo)<br/><br/>Most other editors insert double li<em>ne</em> returns which can be annoying for clients who are used to editing in Microsoft Word. CuteEditor can be configured to use <div>, <br> or <p> <em>tags</em> when you press enter. In either mode <br> <em>tags</em> can be created by using shift+enter.<br/> <br/> 支持代码缩进和小写字母<br/><br/>Cute Editor displays nicely indented code in the HTML mode and the ge<em>ne</em>rating HTML <em>tags</em> and Attributes are in lower case. This is very convenient and important for the advanced users. <br/> <br/> 支持全屏编辑 (Demo)<br/><br/>It does not open a <em>ne</em>w window, instead it will resize to fit the browser screen. Edit in full screen mode, maximizing your available space. <br/><br/> <br/> 没有打开较慢的Java或ActiveX组件<br/><br/>100% DHTML, JavaScript ASP.<em>Ne</em>t code. There are no slow Java or ActiveX compo<em>ne</em>nts to worry about and everything is handled in the browser! <br/><br/> <br/> 支持相对地址和URL自动关联(Demo)<br/><br/>With Cute Editor, you have the choice of using either a relative or absolute URL. <br/> <br/> 部署简单<br/><br/>The perfect addition to your content management system! Only a couple li<em>ne</em>s of code , you don't <em>ne</em>ed to be an expert. Allows you to add an onli<em>ne</em> HTML editing functionality that works with standard HTML form.<br/> <br/> 可以简单的通过API隐藏按钮和标签 <br/><br/>Cute Editor allows developers to set the image directory, set the controls width, disable image uploading and deleting, restrict access to the source/preview tabs, hide buttons and lists that you don't want your clients to see or access. <br/> <br/> 支持图片的文字环绕 <br/><br/>Locate the image you want to wrap text around, and click any justify button in the toolbar. The image will float to the desired direction. Text will be positio<em>ne</em>d around the image. <br/> <br/> 支持文件下载 <br/><br/>You can upload <em>document</em> files, create a link from your HTML content to the <em>document</em> files (zip files, ppt files...). <br/> <br/> CSS型皮肤 (Demo)<br/><br/>Cute Editor provides several built in themes that are ready to use. Developers can completely change the appearance of the toolbar and the dialogs by simply modifying the supplied classes and images. <br/> <br/> 高级的表格管理<br/><br/>Create and modify tables and table cells. Set their border color, alignment, cellspacing and more! Once you've created a table, simply right click inside of it and use the handy popup menu to change its attributes. <caption>,<summary>,<thead>,<tfoot>,<th> <em>tags</em> are supported. <br/><br/> <br/> 图片插入和自动上传<br/><br/>Built-in thumbnail ge<em>ne</em>rator. Thumbnail images are dynamically created; Supports upload <em>ne</em>w images. Paging - specify how many images. Support auto resize images.<br/> <br/> 具有特殊的对话框<br/><br/>With Style builder dialog box you can apply CSS style attributes directly to any HTML elements on your Web page.<br/> <br/> 支持内容模板 (Demo)<br/><br/>The basic idea behind a Content Management System (CMS) is to separate the management of content from design. Cute Editor allows the site desig<em>ne</em>r to easily create and establish templates to give the site a uniform look. Templates may be modified when desired. <br/> <br/> 通过限制html和文字的长度来保护你的数据库 (Demo)<br/><br/>If you tried to insert a record whose text length is greater than allowed by your table, an error will be reported. To prevent this type of error from occurring, developers can use MaxHTMLLength or MaxTextLength in the Cute Editor to limit the length of the user抯 input. <br/> <br/> Apply security to control user access to resources <br/><br/>Cute Editor allows developers to assign a pre-defi<em>ne</em>d set of permissions by group or individual. This prevents a normal user to access the administration functionality. <br/><br/>The details of permissions are specified by an XML security policy file. Each level maps to a specific file. The default mappings: <br/><br/>admin设置 admin.config <br/>default设置 default.config <br/>guest设置 guest.config <br/>You can customize and extend each policy file by editing the XML security policy file. You can also create your own policy files that defi<em>ne</em> arbitrary permission sets.<br/><br/>Comparison of the sample security policy file <br/><br/> <br/>Permissions/Resource Setting Admin Default Guest <br/>AllowUpload <br/>AllowDelete <br/>AllowCopy <br/>AllowMove <br/>AllowCreateFolder <br/>AllowDeleteFolder <br/>RestrictUploadedImageDimension <br/>AutoResizeUploadedImages <br/>MaxImageWidth 6400 640 640 <br/>MaxImageHeight 4800 480 480 <br/>MaxImageSize 10000 100 100 <br/>MaxMediaSize 10000 100 100 <br/>MaxFlashSize 10000 100 100 <br/>Max<em>Document</em>Size 10000 100 100 <br/>ImageGalleryPath ~/uploads ~/uploads/member ~/uploads/guest <br/>MediaGalleryPath ~/uploads ~/uploads/member ~/uploads/guest <br/>FlashGalleryPath ~/uploads ~/uploads/member ~/uploads/guest <br/>FilesGallaryPath ~/uploads ~/uploads/member ~/uploads/guest <br/>ImageFilters .jpg <br/>.jpeg <br/>.gif <br/>.png .jpg <br/>.jpeg <br/>.gif <br/> .jpg <br/>.jpeg <br/>.gif <br/> <br/>MediaFilters .avi <br/>.mpg <br/>.mpeg <br/>.mp3 .avi <br/>.mpg <br/>.mpeg <br/> .avi <br/>.mpg <br/>.mpeg <br/> <br/><em>Document</em>Filters .txt, .doc<br/>.pdf, .zip<br/>.rar, .avi<br/>.mpg, .mpeg<br/>.mp3, .jpg<br/>.jpeg,.gif<br/>.png .pdf, .doc<br/> .txt, .doc<br/>.pdf, .zip<br/> <br/> <br/> 在线图片编辑<br/><br/>People that input content on a website are ge<em>ne</em>rally not web desig<em>ne</em>rs, so most don't have that design & technical fibre in them. With onli<em>ne</em> image editor, you can now edit image file with no image editing software to download or install! Easy drag and drop familiar interface. Resize, change dimensions, scale, crop, add text, optimize, rotate, flip, mirror and add watermark. <br/> <br/> 控制上传文件夹大小<br/><br/>Max Upload Folder size(Including all subfolders and files. A must have feature for people who have limited hosting space.) Dynamic display of available free space in the Upload Folder.Limits the size of your upload folder. If the max is reached uploads will be disabled. <br/> <br/> 支持图片热点<br/><br/>Image maps are pictures with clickable regions also known as "hotspots." When users click on o<em>ne</em> of the hotspots, they're directed to the page you designate. CuteEditor 5.0 lets you easily create image maps to add fun and excitement to a page<br/> <br/> <div> 的盒模式<br/><br/><div> boxes offer a much greater ability to control the layout of a page. With CuteEditor, you can put any content between <div> <em>tags</em> and then use CSS to style all sorts of borders, backgrounds, etc. <br/> <br/> 通用虚拟键盘<br/><br/>Virtual Keyboard does not require changes to language settings of your system and even speeds up the entire text input process for your customers. It lets your native speaking clients to access your web resources from any location in the world without changing national keyboard layouts and fonts on their machi<em>ne</em>s. <br/> <br/> 把图片存到数据库<br/><br/>With CuteEditor you can easily use a Sql Server database or access database as the file storage. <br/> <br/> RTF和HTML之间互相转换<br/><br/>With CuteEditor you can easily convert an HTML <em>document</em> into an RTF file and RTF file into HTML or XHTML <em>document</em>. <br/> <br/> 生成PDF文件<br/><br/>CuteEditor also allows you dynamically create Adobe PDF <em>document</em>s from ASP.<em>NE</em>T.<br/> cuteEditor6.0多语言版(集成lic文件) <br/><br/>目前功能强大,最好的Asp.<em>ne</em>t编辑器之一 <br/>除了一般html编辑器具有的功能外,还有word过滤、图片在线处理、加水印等实用功能 <br/>使用关键步骤: <br/><br/>1、引用bin下的cuteEditor文件 <br/>2、在aspx页面顶部<em>中</em>添加引用 <br/>3、在aspx页面<em>中</em>加入代码 <br/>4、最后可以在.cs文件<em>中</em>通过来读取Editor1.Text的值来进行任意的扩展和控制了 <br/>具体配置可参照default.aspx和default.aspx.cs <br/><br/>关于cuteEditor6.0的特征及体验请浏览cuteEditor.cn,系统集成了lic授权文件,仅供体验测试使用,请不要用于任何商业用途! <br/><br/> <br/></a></div><div data-report-view="{"mod":"popu_645","index":"3","dest":"https://edu.csdn.net/course/detail/7325","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-course-2~default~OPENSEARCH~Rate-3-7325-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1713579272571_66990\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAnFJREFUWEdjZGBgYFiyZBvft29fnBkYGOT+/2fgAYnRCjAyMnxhYGB4xMXFszcmxusTI8jyr1+/pjIw/OeglaXYzWX8wc3NPZtx1qxVgf//M2jR13KIbYyMDNdADsindbDj8hwoOhhnzlxVPRC+h9k5OB3AzMzMaG2tbyojI2nIycku/P8/A8OPHz/fPnv26vLRo+dP/v795y+2UCNHH0YIsLKyMAcHuyXy8XErYLPk27cfz9eu3T37+/cfv5DlydWH4QB3dytXeXlpe5Dhz5+/OnXq1JVDP3/+/mVgoG6gpqbgCUq8z5+/ObV58/5NyA4gVx+GA+Li/Ao4ONhFvnz59mjZsq2zkC0JDXWPFRTkU//16/enBQs2dCHLkasPwwHi4kL8QkICgt+/f//24MHzV8iWxMT4ZnNxcUj++fP367x569qR5cjVR1QuYGRkZPTysvWUlha3Aln6+PGLw9u3H95JKPsSo4+gA9jYWFn8/BzChIQEwKXlx4+f76xbt2cxrpwAcxSx+gg6IDDQJURUVNAAZPDr1+8vbdlyYC0hy0FqidWH1wGcnBxssbG+NQwMDEyvX7+/sH79njWEgh0kT4o+vA5QV1eQt7c3TQUZunfv8al37z55TowDSNGH1wHi4sIC6uoKGiBLz527fv7Ll28/iXEAKfrwOkBJSUZCX1/DDmTpjRv3Tl2/fu8BMQ4gRR9eB+jrq6uZm+vFgSy9cuX22mPHLpwnxgGk6BvcDiDGt5SqIVgOUGoBIf0kOyAtLbQFn6GzZq0GlRtEg6HnAKK9RqRCkkOASHOJVjbqgIHvmAx412zAO6eg5DqQ3XMAbqvBaKl0M/gAAAAASUVORK5CYII=" alt data-v-ca2d15ac> <a target="_blank" href="https://edu.csdn.net/course/detail/7325" data-report-click="{"mod":"popu_645","index":"3","dest":"https://edu.csdn.net/course/detail/7325","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-course-2~default~OPENSEARCH~Rate-3-7325-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1713579272571_66990\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-course-2~default~OPENSEARCH~Rate-3-7325-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-course-2~default~OPENSEARCH~Rate-3-7325-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew" class="title" data-v-ca2d15ac>JavaScript 前端开发技术</a></div> <a target="_blank" href="https://edu.csdn.net/course/detail/7325" data-report-click="{"mod":"popu_645","index":"3","dest":"https://edu.csdn.net/course/detail/7325","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-course-2~default~OPENSEARCH~Rate-3-7325-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1713579272571_66990\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-course-2~default~OPENSEARCH~Rate-3-7325-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-course-2~default~OPENSEARCH~Rate-3-7325-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew" class="desc" data-v-ca2d15ac>JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境<em>中</em>,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。 [1] JavaScript在1995年由<em>Ne</em><em>tsc</em><em>ape</em>公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为<em>Ne</em><em>tsc</em><em>ape</em>与Sun合作,<em>Ne</em><em>tsc</em><em>ape</em>管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。 [2] JavaScript的标准是ECMAScript 。截至 2012 年,所有浏览器都完整的支持ECMAScript 5.1,旧版本的浏览器至少支持ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为ECMAScript 6 或者ES6。 [1] </a></div><div data-report-view="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/u011233602/5663509","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5663509-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1713579272571_66990\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAltJREFUWEdjZGBgYGhv/yD45//nEEYGBrX//xj4QWK0AoxMDB//MzDcYmHkXVNZKfCeEWz5v8/1DP8ZuGhlKVZzGRm+sTDxNjI2tz1OZfjHYEpXy2GWMTGcZmxpe9xN62DH5TlQdDA2tzyeNSC+h1o66gCyQyApUdRNSIhNGBSS7979ejtv/utd5EQl2Q7IypT0ExJiFoc44O/LadOfbxp1wPAOAWlpdr5Pn//8/Pzp70+QT3GlAX5+ZnYeHhb2p09/fiImRIhOhBYWvIo21ryWu/Z8PHDp4tdn2BxgoM8l4+IiYH/k6OdjJ058vk91B7g487swMDD8v3Hj+2VJSTYpfn5mEZAlHz/9ffPq5e+Xqqoc2iD+nr0f99DSAQQ9RhMHcHAwsYSGCtvKy7Gr4HPBo0c/b69c/fbwzx///hJ0KQMDA9FpAGaYizO/tpkZjwUTEyMTsgX//v3/d/LUl+N79368RozFMDUkOwCkUUODU8zHW9CFg4OJG8T/8ePf181b3u25efPHK1IsB6nF6gAjY25ZEWFWcNPs169/fw4c+HQD3WBBIRaOsBAhZ5D4qjXv9r5/9+cHuhoHBz4NNjYmFpD4m7e/P547+/UxuhqsDoiPE3WWlWVXgvju/5ee3qfLsfmMiZmBEST+7y/Df2zyJcXSkRwcjDwgucePf95buOj1Xqo6gFBwDw8H/P/P8O/nz//fCPkWmzw7OyMXIyMDOLeQHQXkWIxNz9BygJubgI6kBCu4tUMt8PzF75e7dn24QlQuoJalxJgzCDomA901G/DOKSieBrJ7DgCPdYFAskV/NwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://download.csdn.net/download/u011233602/5663509" data-report-click="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/u011233602/5663509","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5663509-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1713579272571_66990\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5663509-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5663509-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew" class="title" data-v-ca2d15ac>Python Cookbook英文版</a></div> <a target="_blank" href="https://download.csdn.net/download/u011233602/5663509" data-report-click="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/u011233602/5663509","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5663509-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1713579272571_66990\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5663509-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5663509-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew" class="desc" data-v-ca2d15ac>Python Cookbook英文版 Table of Contents Foreword Preface 1. Python Shortcuts 1.1 Swapping Values Without Using a Temporary Variable 1.2 Constructing a Dictionary Without Excessive Quoting 1.3 Getting a Value from a Dictionary 1.4 Adding an Entry to a Dictionary 1.5 Associating Multiple Values with Each Key in a Dictionary 1.6 Dispatching Using a Dictionary 1.7 Collecting a Bunch of Named Items 1.8 Finding the Intersection of Two Dictionaries 1.9 Assigning and Testing with O<em>ne</em> Statement 1.10 Using List Comprehensions Instead of map and filter 1.11 Unzipping Simple List-Like Objects 1.12 Flattening a <em>Ne</em>sted Sequence 1.13 Looping in Parallel over Index and Sequence Items 1.14 Looping Through Multiple Lists 1.15 Spanning a Range Defi<em>ne</em>d by Floats 1.16 Transposing Two-Dimensional Arrays 1.17 Creating Lists of Lists Without Sharing References 2. Searching and Sorting 2.1 Sorting a Dictionary 2.2 Processing Selected Pairs of Structured Data Efficiently 2.3 Sorting While Guaranteeing Sort Stability 2.4 Sorting by O<em>ne</em> Field, Then by Another 2.5 Looking for Items in a Sorted Sequence Using Binary Search 2.6 Sorting a List of Objects by an Attribute of the Objects 2.7 Sorting by Item or by Attribute 2.8 Selecting Random Elements from a List Without Repetition 2.9 Performing Frequent Membership Tests on a Sequence 2.10 Finding the Deep Index of an Item in an Embedded Sequence 2.11 Showing Off Quicksort in Three Li<em>ne</em>s 2.12 Sorting Objects Using SQL's ORDER BY Syntax 3. Text 3.1 Processing a String O<em>ne</em> Character at a Time 3.2 Testing if an Object Is String-Like 3.3 Aligning Strings 3.4 Trimming Space from the Ends of a String 3.5 Combining Strings 3.6 Checking Whe</a></div><div data-report-view="{"mod":"popu_645","index":"5","dest":"https://download.csdn.net/download/drjiachen/11554190","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-11554190-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1713579272571_66990\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAltJREFUWEdjZGBgYGhv/yD45//nEEYGBrX//xj4QWK0AoxMDB//MzDcYmHkXVNZKfCeEWz5v8/1DP8ZuGhlKVZzGRm+sTDxNjI2tz1OZfjHYEpXy2GWMTGcZmxpe9xN62DH5TlQdDA2tzyeNSC+h1o66gCyQyApUdRNSIhNGBSS7979ejtv/utd5EQl2Q7IypT0ExJiFoc44O/LadOfbxp1wPAOAWlpdr5Pn//8/Pzp70+QT3GlAX5+ZnYeHhb2p09/fiImRIhOhBYWvIo21ryWu/Z8PHDp4tdn2BxgoM8l4+IiYH/k6OdjJ058vk91B7g487swMDD8v3Hj+2VJSTYpfn5mEZAlHz/9ffPq5e+Xqqoc2iD+nr0f99DSAQQ9RhMHcHAwsYSGCtvKy7Gr4HPBo0c/b69c/fbwzx///hJ0KQMDA9FpAGaYizO/tpkZjwUTEyMTsgX//v3/d/LUl+N79368RozFMDUkOwCkUUODU8zHW9CFg4OJG8T/8ePf181b3u25efPHK1IsB6nF6gAjY25ZEWFWcNPs169/fw4c+HQD3WBBIRaOsBAhZ5D4qjXv9r5/9+cHuhoHBz4NNjYmFpD4m7e/P547+/UxuhqsDoiPE3WWlWVXgvju/5ee3qfLsfmMiZmBEST+7y/Df2zyJcXSkRwcjDwgucePf95buOj1Xqo6gFBwDw8H/P/P8O/nz//fCPkWmzw7OyMXIyMDOLeQHQXkWIxNz9BygJubgI6kBCu4tUMt8PzF75e7dn24QlQuoJalxJgzCDomA901G/DOKSieBrJ7DgCPdYFAskV/NwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://download.csdn.net/download/drjiachen/11554190" data-report-click="{"mod":"popu_645","index":"5","dest":"https://download.csdn.net/download/drjiachen/11554190","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-11554190-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1713579272571_66990\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-11554190-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-11554190-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew" class="title" data-v-ca2d15ac>VB.<em>NE</em>T Developer's Guide(4574).pdf</a></div> <a target="_blank" href="https://download.csdn.net/download/drjiachen/11554190" data-report-click="{"mod":"popu_645","index":"5","dest":"https://download.csdn.net/download/drjiachen/11554190","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-11554190-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\",\"dist_request_id\":\"1713579272571_66990\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-11554190-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-11554190-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew" class="desc" data-v-ca2d15ac>Contents xvii Web Forms 133 Intellisense 134 Customizing the IDE 135 Customizing the Code Editor 135 Customizing Shortcut Keys 135 Customizing the Toolbars 136 Exercise 3.4 Adding a <em>Ne</em>w Toolbar to the Existing Set 136 Exercise 3.5 Adding Commands to Toolbars 137 Customizing Built-In Commands 137 Exercise 3.6 Creating an Alias 138 Customizing the Start Page 139 Accessibility Options 141 Summary 142 Solutions Fast Track 142 Frequently Asked Questions 143 Chapter 4 Common Language Runtime 145 Introduction 146 Compo<em>ne</em>nt Architecture 148 Managed Code versus Unmanaged Code 150 Interoperability with Managed Code 152 System Namespace 153 File I/O 155 Drawing 156 Printing 157 Common Type System 158 Type Casting 160 Garbage Collection 163 Object Allocation/Deallocation 164 Close/Dispose 165 Summary 166 Solutions Fast Track 167 Frequently Asked Questions 168 Developing & Deploying… Embrace Your Parameters VB.<em>NE</em>T is insistent upon enclosing parameters of function calls within parentheses regardless of whether we are returning a value or whether we are using the Call statement. It makes the code much more readable and is a <em>ne</em>w standard for VB programmers that is consistent with the standard that <em>ne</em>arly all other languages adopted long ago. 153_VB<em>ne</em>t_TOC 8/16/01 1:12 PM Page xvii xviii Contents Chapter 5 .<em>NE</em>T Programming Fundamentals 171 Introduction 172 Variables 173 Constants 175 Structures 176 Program Flow Control 178 If…Then…Else 178 Select Case 182 While Loops 184 For Loops 186 Arrays 187 Declaring an Array 188 Multidimensional Arrays 189 Dynamic Arrays 191 Functions 192 Object Oriented Programming 196 Inheritance 196 Polymorphism 197 Encapsulation 197 Classes 198 Adding Properties 198 Adding Methods 200 System.Object 201 Constructors 201 Overloading 202 Overriding 203 Shared Members 205 String Handling 206 Error Handling 210 Summary 213 Solutions Fast Track 214 Frequently Asked Questions 217 NOTE When porting Visual Basic applications to Visual Basic .<em>NE</em>T, be careful of the lower bounds of arrays. If you are using a for loop to iterate through the array, and it is hard-coded to initialize the counter at 1, the first element will be skipped. Remember that all arrays start with the index of 0. 153_VB<em>ne</em>t_TOC 8/16/01 1:12 PM Page xviii Contents xix Chapter 6 Advanced Programming Concepts 219 Introduction 220 Using Modules 221 Utilizing Namespaces 222 Creating Namespaces 222 Understanding the Imports Keyword 226 Implementing Interfaces 229 Delegates and Events 232 Simple Delegates 235 Multicast Delegates 236 Event Programming 236 Handles Keyword 236 Language Interoperability 237 File Operations 239 Directory Listing 239 Data Files 241 Text Files 243 Appending to Files 246 Collections 246 The Drawing Namespace 248 Images 253 Printing 256 Understanding Free Threading 262 SyncLock 263 Summary 265 Solutions Fast Track 265 Frequently Asked Questions 267 Chapter 7 Creating Windows Forms 269 Introduction 270 Application Model 270 Properties 271 Manipulating Windows Forms 275 Properties of Windows Forms 275 Methods of Windows Forms 276 Creating Windows Forms 287 What Are Collections? Collectionsare groups of like objects. Collections are similar to arrays, but they don’t have to be redimensio<em>ne</em>d. You can use the Addmethod to add objects to a collection. Collections take a little more code to create than arrays do, and sometimes accessing a collection can be a bit slower than an array, but they offer significant advantages because a collection is a group of objects whereby an array is a data type. 153_VB<em>ne</em>t_TOC 8/16/01 1:12 PM Page xix xx Contents Displaying Modal Forms 288 Displaying Modeless Forms 289 Displaying Top-Most Forms 289 Changing the Borders of a Form 289 Resizing Forms 291 Setting Location of Forms 292 Form Events 294 Creating Multiple <em>Document</em> Interface Applications 297 Creating an MDI Parent Form 297 Creating MDI Child Forms 298 Exercise 7.1 Creating an MDI Child Form 298 Determining the Active MDI Child Form 299 Arranging MDI Child Forms 299 Adding Controls to Forms 300 Anchoring Controls on Forms 301 Docking Controls on Forms 303 Layering Objects on Forms 304 Positioning Controls on Forms 304 Dialog Boxes 305 Displaying Message Boxes 306 Common Dialog Boxes 306 The OpenFileDialog Control 306 The SaveFileDialog Control 309 The FontDialog Control 311 The ColorDialog Control 313 The PrintDialog Control 315 The PrintPreviewDialog Control 316 The PageSetupDialog Control 321 Creating Dialog Boxes 322 Creating and Working with Menus 323 Adding Menus to a Form 323 Exercise 7.2 Adding a Menu to a Form at Design Time 323 Creating Dialog Boxes 1.Create a form. 2.Set the BorderStyle property of the form to FixedDialog. 3.Set the ControlBox, MinimizeBox, and MaximizeBox properties of the form to False. 4.Customize the appearance of the form appropriately. 5.Customize event handlers in the Code window appropriately. 153_VB<em>ne</em>t_TOC 8/16/01 1:12 PM Page xx Contents xxi Dynamically Creating Menus 326 Exercise 7.3 Adding a Menu to a Form at Design Time 326 Adding Status Bars to Forms 328 Adding Toolbars to Forms 330 Data Binding 332 Simple Data Binding 332 Complex Data Binding 333 Data Sources for Data Binding 333 Using the Data Form Wizard 334 Using the Windows Forms Class Viewer 338 Using the Windows Forms ActiveX Control Importer 338 Summary 340 Solutions Fast Track 340 Frequently Asked Questions 344 Chapter 8 Windows Forms Compo<em>ne</em>nts and Controls 347 Introduction 348 Built-In Controls 348 Label Control 351 LinkLabel Control 354 TextBox Control 357 Button Control 361 CheckBox Control 364 RadioButton Control 365 RichTextBox Control 367 TreeView Control 369 ListBox Control 371 CheckedListBox Control 374 ListView Control 376 ComboBox Control 381 DomainUpDown Control 384 NumericUpDown Control 386 PictureBox Control 388 TrackBar Control 389 Adding Items to a Combo Box at Design-Time 1.Select the ComboBox control on the form. 2.If <em>ne</em>cessary, use the Viewmenu to open the Properties window. 3.In the Properties window, click the Itemsproperty, then click the ellipsis. 4.In String Collection Editor, type the first item, then press Enter. 5.Type the <em>ne</em>xt items, pressing Enterafter each item. 6.Click OK. 153_VB<em>ne</em>t_TOC 8/16/01 1:13 PM Page xxi xxii Contents DateTimePicker Control 391 Pa<em>ne</em>l Control 394 GroupBox Control 396 TabControl Control 397 Creating Custom Windows Compo<em>ne</em>nts 399 Exercise 8.1:Creating a Custom Windows Compo<em>ne</em>nt 399 Creating Custom Windows Controls 403 Exercise 8.2:Creating a Custom Windows Control 404 Summary 407 Solutions Fast Track 407 Frequently Asked Questions 408 Chapter 9 Using ADO.<em>NE</em>T 409 Introduction 410 Overview of XML 411 XML <em>Document</em>s 411 XSL 411 XDR 412 XPath 412 Understanding ADO.<em>NE</em>T Architecture 412 Differences between ADO and ADO.<em>NE</em>T 414 XML Support 414 ADO.<em>NE</em>T Configuration 415 Remoting in ADO.<em>NE</em>T 415 Maintaining State 415 Using the XML Schema Definition Tool 416 Con<em>ne</em>cted Layer 417 DataProviders 418 Con<em>ne</em>ction Strings 418 Exercise 9.1 Creating a Con<em>ne</em>ction String 419 Command Objects 421 DataReader 425 DataSet 426 XML <em>Document</em>s XML <em>document</em>s are the heart of the XML standard. An XML <em>document</em> has at least o<em>ne</em> element that is delimited with o<em>ne</em> start tag and o<em>ne</em> end tag. XML <em>document</em>s are similar to HTML, except that the <em>tags</em> are made up by the author. 153_VB<em>ne</em>t_TOC 8/16/01 1:13 PM Page xxii Contents xxiii Discon<em>ne</em>cted Layer 427 Using DataSet 428 Relational Schema 428 Collection of Tables 430 Data States 431 Populating with the DataSet Command 432 Populating with XML 433 Populating Programmatically 434 Using the SQL Server Data Provider 435 TDS 436 Exercise 9.2 Using TypedDataSet 437 Remoting 439 Data Controls 440 DataGrid 440 Exercise 9.3 Using TypedDataSet and DataRelation 441 DataList 446 Repeater 450 Summary 454 Solutions Fast Track 454 Frequently Asked Questions 457 Chapter 10 Developing Web Applications 459 Introduction 460 Web Forms 461 A Simple Web Form 462 Exercise 10.1 Creating a Simple Web Form 462 How Web Forms Differ from Windows Forms 464 Why Web Forms Are Better Than Classic ASP 465 Adding Controls to Web Forms 467 Exercise 10.2 Adding Web Controls to a Web Form 468 Code Behind 473 NOTE Web form controls not only detect browsers such as Inter<em>ne</em>t Explorer and <em>Ne</em><em>tsc</em><em>ape</em>, but they also detect devices such as Palm Pilots and cell pho<em>ne</em>s and ge<em>ne</em>rate appropriate HTML accordingly. 153_VB<em>ne</em>t_TOC 8/16/01 1:13 PM Page xxiii xxiv Contents How Web Form Controls Differ from Windows Form Controls 476 ASP.<em>NE</em>T Server Controls 476 Intrinsic Controls 476 Bound Controls 478 Exercise 10.3 Using the DataGrid Control 478 Exercise 10.4 Customizing DataGrid Control 482 Custom Controls 487 Validation Controls 488 Exercise 10.5 Using the Validation Controls 489 Creating Custom Web Form Controls 492 Exercise 10.6 A Simple Custom Control 493 Exercise 10.7 Creating a Composite Custom Control 497 Web Services 504 How Web Services Work 505 Developing Web Services 505 Exercise 10.8 Developing Web Services 507 Web Service Utilities 509 Service Description Language 509 Discovery 510 Proxy Class 510 Consuming Web Services from Web Forms 511 Exercise 10.9 Consuming Web Services from Web Forms 511 Using Windows Forms in Distributed Applications 513 Exercise 10.10 Consuming Web Services from Windows Forms 514 Exercise 10.11 Developing a Sample Application 516 Summary 519 Solutions Fast Track 519 Frequently Asked Questions 521 153_VB<em>ne</em>t_TOC 8/16/01 1:13 PM Page xxiv Contents xxv Chapter 11 Optimizing, Debugging, and Testing 523 Introduction 524 Debugging Concepts 524 Debug Menu 528 Watches 529 Breakpoints 531 Exceptions Window 532 Command Window 534 Conditional Compilation 536 Trace 538 Assertions 540 Code Optimization 541 Finalization 542 Transitions 542 Parameter Passing Methods 542 Strings 543 Garbage Collection 544 Compiler Options 544 Optimization Options 544 Output File Options 544 .<em>NE</em>T Assembly Options 545 Preprocessor Options 546 Miscella<em>ne</em>ous Options 546 Testing Phases and Strategies 546 Unit Testing 547 Integration Testing 547 Beta Testing 547 Regression Testing 548 Stress Testing 548 Monitoring Performance 548 Summary 550 Solutions Fast Track 551 Frequently Asked Questions 552 What Are Watches? Watchesprovide us with a mechanism where we can interact with the actual data that is stored in our programs at runtime. They allow us to see the values of variables and the values of properties on objects. In addition to being able to view these values, you can also assign <em>ne</em>w values. 153_VB<em>ne</em>t_TOC 8/16/01 1:13 PM Page xxv xxvi Contents Chapter 12 Security 553 Introduction 554 Security Concepts 555 Permissions 555 Principal 556 Authentication 557 Authorization 557 Security Policy 558 Type Safety 558 Code Access Security 558 .<em>NE</em>T Code Access Security Model 559 Stack Walking 559 Code Identity 561 Code Groups 562 Declarative and Imperative Security 564 Requesting Permissions 565 Demanding Permissions 570 Overriding Security Checks 572 Custom Permissions 576 Role-Based Security 578 Principals 578 WindowsPrincipal 579 Ge<em>ne</em>ricPrincipal 580 Manipulating Identity 581 Role-Based Security Checks 583 Security Policies 585 Creating a <em>Ne</em>w Permission Set 588 Modifying the Code Group Structure 593 Remoting Security 600 Cryptography 600 Security Tools 603 Summary 606 Solutions Fast Track 607 Frequently Asked Questions 611 Within the .<em>NE</em>T Framework, Three Namespaces Involve Cryptography 1.System.Security .CryptographyThe most important o<em>ne</em>; resembles the CryptoAPI functionalities. 2.System.Security .Cryptography.X509 certificatesRelates only to the X509 v3 certificate used with Authenticode. 3.System.Security .Cryptography.XmlFor exclusive use within the .<em>NE</em>T Framework security system. 153_VB<em>ne</em>t_TOC 8/16/01 1:13 PM Page xxvi Contents xxvii Chapter 13 Application Deployment 615 Introduction 616 Packaging Code 617 Configuring the .<em>NE</em>T Framework 622 Creating Configuration Files 622 Machi<em>ne</em>/Administrator Configuration Files 623 Application Configuration Files 625 Security Configuration Files 626 Deploying the Application 629 Common Language Runtime 629 Windows Installer 630 CAB Files 631 Inter<em>ne</em>t Explorer 5.5 632 Resource Files 633 Deploying Controls 637 Summary 639 Solutions Fast Track 640 Frequently Asked Questions 642 Chapter 14 Upgrading Visual Basic Applications to .<em>NE</em>T 647 Introduction 648 Considerations Before Upgrading 648 Early Binding of Variables 649 Avoiding Null Propagation 650 Using ADO 651 Using Date Data Type 652 Using Constants 652 Considering Architecture Before Migration 653 Intra<em>ne</em>t/Inter<em>ne</em>t Applications 653 Inter<em>ne</em>t Information Server (IIS) Applications 654 DHTML Applications 655 ActiveX <em>Document</em>s 655 Client/Server and Multi-Tier Applications 655 Single-Tier Applications 656 Data Access Applications 656 WARNING You should under no circumstance edit the Security.config and Enterprise.config files directly. It is very easy to compromise the integrity of these files. Always use the Code Access Security Policy utility (caspol.exe) or the .<em>NE</em>T Configuration tool; these will guard the integrity of the files and will also make a backup copy of the last saved version. 153_VB<em>ne</em>t_TOC 8/16/01 1:13 PM Page xxvii xxviii Contents Data Types 657 Variants 657 Integers 658 Dates 658 Boolean 659 Arrays 659 Fixed-Length Strings 660 Windows API Data Types 661 Converting VB Forms to Windows Forms 662 Control Anchoring 664 Keyword Changes 665 Goto 666 GoSub 666 Option Base 666 AND/OR 666 Lset 666 VarPtr 667 StrPtr 667 Def 667 Programming Differences 668 Method Implementation 668 Optional Parameters 668 Static Modifier 669 Return Statement 669 Procedure Calls 670 External Procedure Declaration 671 Passing Parameters 672 ParamArray 672 Overloading 674 References to Unmanaged Libraries 677 Metadata 679 Runtime Callable Wrapper 681 COM Callable Wrapper 682 Properties 684 Working with Property Procedures 684 Control Property Name Changes 685 Default Property 687 Avoiding Null Propagation Nullpropagation means that if Null is used in an expression, the resulting expression is always Null. In previous versions of Visual Basic, the Null value disseminated throughout the expression. 153_VB<em>ne</em>t_TOC 8/16/01 1:13 PM Page xxviii Contents xxix Null Usage 690 Understanding Error Handling 690 Exercise 14.1:Using Error Handling 692 Data Access Changes in Visual Basic .<em>NE</em>T 693 Dataset and Recordset 694 Application Interoperability 694 Cursor Location 695 Discon<em>ne</em>cted Access 695 Data Navigation 695 Lock Implementation 696 Upgrading Interfaces 696 Upgrading Interfaces from Visual Basic 6.0 699 Using the Upgrade Tool 703 Exercise 14.2 Using the Upgrade Wizard 703 Summary 708 Solutions Fast Track 709 Frequently Asked Questions 712 Index 713 Contents xiii From the Series Editor xxxi Chapter 1 <em>Ne</em>w Features in Visual Basic .<em>NE</em>T 1 Introduction 2 Examining the <em>Ne</em>w IDE 3 Cosmetic Improvements 3 Development Accelerators 5 .<em>NE</em>T Framework 6 A Very Brief and Simplified History 6 .<em>NE</em>T Architecture 7 ASP.<em>NE</em>T 7 Framework Classes 8 .<em>NE</em>T Servers 8 Common Language Runtime 8 History 8 Convergence 9 Object-Oriented Language 10 Object-Oriented Concepts 10 Advantages of Object-Oriented Design 11 History of Object Orientation and VB 13 Namespaces 13 Web Applications 13 Web Applications Overview 13 Web Forms 14 Web Services 15 HyperText Transport Protocol 16 Simple Object Access Protocol 17 .<em>NE</em>T Architecture .<em>NE</em>T Framework ASP.<em>NE</em>T Updated ASP Engi<em>ne</em> Web Forms Engi<em>ne</em> Framework Classes System.Math, System.Io, System.Data, Etc. Common Language Runtime Memory Management Common Type System Garbage Collection .<em>NE</em>T .<em>NE</em>T Servers 153_VB<em>ne</em>t_TOC 8/16/01 1:12 PM Page xiii xiv Contents Security 17 Type Safety 18 Casting 18 Data Conversion 19 Bitwise Operations 20 <em>Ne</em>w Compiler 20 Compiling an Executable 20 Architecture 21 File Management in Previous Versions of VB 21 File Management 22 Changes from Visual Basic 6.0 23 Variants 23 Variable Lower Bounds 23 Fixed Length Strings 23 NULL Propagation 23 Other Items Removed 24 Function Values 24 Short Circuits 25 Properties and Variables 25 Variable Lengths 25 Get and Set 26 Date Type 26 Default Properties 27 Summary 28 Solutions Fast Track 28 Frequently Asked Questions 31 Chapter 2 The Microsoft .<em>NE</em>T Framework 33 Introduction 34 What Is the .<em>NE</em>T Framework? 34 Introduction to the Common Language Runtime 35 Using .<em>NE</em>T-Compliant Programming Languages 37 Creating Assemblies 39 Using the Manifest 42 Compiling Assemblies 45 Assembly Cache 45 Locating an Assembly 45 153_VB<em>ne</em>t_TOC 8/16/01 1:12 PM Page xiv Contents xv Private Assembly Files 51 Shared Assembly Files 51 Understanding Metadata 51 The Be<em>ne</em>fits of Metadata 52 Identifying an Assembly with Metadata 53 Types 53 Defining Members 54 Using Contracts 54 Assembly Dependencies 55 Unmanaged Assembly Code 55 Reflection 56 Attributes 57 Ending DLL Hell 58 Side-by-Side Deployment 58 Versioning Support 59 Using System Services 60 Exception Handling 60 StackTrace 61 In<em>ne</em>rException 61 Message 61 HelpLink 62 Garbage Collection 62 Console I/O 62 Microsoft Intermediate Language 63 The Just-In-Time Compiler 63 Using the Namespace System to Organize Classes 64 The Common Type System 65 Type Safety 68 Relying on Automatic Resource Management 68 The Managed Heap 69 Garbage Collection and the Managed Heap 71 Assigning Ge<em>ne</em>rations 77 Utilizing Weak References 77 Security Services 79 Framework Security 80 Granting Permissions 81 NOTE Visualization is still key! Die-hard VB programmers may find themselves having a hard time visualizing all the <em>ne</em>w concepts in VB.<em>NE</em>T (and we all know that proper logic visualization plays a big role in what we do). Something that may help is to think about VB.<em>NE</em>T as a completely flexible language that can accommodate Web, console, and desktop use. 153_VB<em>ne</em>t_TOC 8/16/01 1:12 PM Page xv xvi Contents Gaining Representation through a Principal 82 Security Policy 83 Summary 85 Solutions Fast Track 85 Frequently Asked Questions 88 Chapter 3 Installing and Configuring VB.<em>NE</em>T 91 Introduction 92 Editions 92 Installing Visual Studio .<em>NE</em>T 93 Exercise 3.1:Installing Visual Studio .<em>NE</em>T 94 Installing on Windows 2000 99 The <em>Ne</em>w IDE 100 Integrated Development Environment Automation Model 100 Add-Ins 104 Exercise 3.2 Creating an Add-In Using the Add-In Wizard 105 Wizards 109 Macros 109 Home Page 110 Project Options 112 Toolbox 116 Child Windows 120 Window Types 122 Arranging Windows 123 Task List 123 Exercise 3.3 Setting Up a Custom Token 124 TaskList Views 124 Locating Code 126 Annotating Code 126 Solution Explorer 127 Properties Window 129 Form Layout Toolbar 130 Hide/Show Code Elements 132 Installing Visual Studio .<em>NE</em>T IPhase 1: Installing Windows compo<em>ne</em>nts IPhase 2: Installing Visual Studio .<em>NE</em>T IPhase 3: Checking for service releases 153_VB<em>ne</em>t_TOC 8/16/01 1:12 PM Page xvi</a></div></div></div></div> <div class="public_pc_right_footer2020" style="display:none;" data-v-4a5a7f56></div></div> <div id="right-floor-user-content_562" data-editor="{"type":"floor","pageId":143,"floorId":562}" class="user-right-floor right-box main-box detail-user-right" data-v-229a00b0><div class="__vuescroll" style="height:100%;width:100%;padding:0;position:relative;overflow:hidden;"><div class="__panel __hidebar" style="position:relative;box-sizing:border-box;height:100%;overflow-y:hidden;overflow-x:hidden;transform-origin:;transform:;"><div class="__view" style="position:relative;box-sizing:border-box;min-width:100%;min-height:100%;"><!----><div comp-data="[object Object]" baseInfo="[object Object]" community="[object Object]" class="introduce" data-v-4722a3ae><div class="introduce-title" data-v-4722a3ae><div class="img-info" data-v-4722a3ae><a href="https://bbs.csdn.net/forums/JavaScript" class="community-img" data-v-4722a3ae><img src="https://img-community.csdnimg.cn/avatar/ca46c476a908476d9927eaee4b0afc10.png?x-oss-process=image/resize,m_fixed,h_88,w_88" alt data-v-4722a3ae> <div title="JavaScript" class="community-name" data-v-4722a3ae> JavaScript </div></a></div></div> <div class="content" data-v-4722a3ae><div class="detail" data-v-4722a3ae><div title="87904" class="item" data-v-4722a3ae><p class="num" data-v-4722a3ae> 87,904 </p> <p class="desc" data-v-4722a3ae> 社区成员 </p></div> <div title="224614" class="item" data-v-4722a3ae><a href="https://bbs.csdn.net/forums/JavaScript" target="_blank" data-v-4722a3ae><p class="num" data-v-4722a3ae> 224,614 </p> <p class="desc" data-v-4722a3ae> 社区内容 </p></a></div></div> <div class="detail-btns" data-v-4722a3ae><div class="community-ctrl-btns_wrapper" data-v-0ebf603c data-v-4722a3ae><div class="community-ctrl-btns" data-v-0ebf603c><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-160be461 data-v-0ebf603c><div data-report-click="{"spm":"3001.5975"}" data-v-160be461><img src="https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png" alt="" class="img sendTopic" data-v-160be461 data-v-0ebf603c> <span data-v-160be461 data-v-0ebf603c>发帖</span></div> <!----> <!----></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png" alt="" class="img me" data-v-0ebf603c> <span data-v-0ebf603c>与我相关</span></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png" alt="" class="img task" data-v-0ebf603c> <span data-v-0ebf603c>我的任务</span></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div class="community-share" data-v-4ca34db9 data-v-0ebf603c><div class="handle-item share" data-v-ca030a68 data-v-4ca34db9><span height="384" data-v-ca030a68><div role="tooltip" id="el-popover-5671" aria-hidden="true" class="el-popover el-popper popo share-popover" style="width:265px;display:none;"><!----><div id="tool-QRcode" class="QRcode" data-v-ca030a68><img src="https://csdnimg.cn/release/cmsfe/public/img/shareBg4.515d57f6.png" alt="" class="share-bg" data-v-ca030a68> <div class="share-bg-box" data-v-ca030a68><div class="share-content" data-v-ca030a68><img src="https://img-community.csdnimg.cn/avatar/ca46c476a908476d9927eaee4b0afc10.png?x-oss-process=image/resize,m_fixed,h_88,w_88" alt="" class="share-avatar" data-v-ca030a68> <div class="share-tit" data-v-ca030a68>JavaScript</div> <div class="share-dec" data-v-ca030a68>Web 开发 JavaScript</div> <span class="copy-share-url" data-v-ca030a68>复制链接</span> <div class="shareText" data-v-ca030a68> </div></div> <div class="share-code" data-v-ca030a68><div class="qrcode" data-v-ca030a68></div> <div class="share-code-text" data-v-ca030a68>扫一扫</div></div></div></div> </div><span class="el-popover__reference-wrapper"><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png" alt="" class="img share" data-v-0ebf603c> <span data-v-0ebf603c>分享</span></div></span></span></div> <!----></div></div></div> <!----> <div data-v-4fb59baf data-v-0ebf603c><div class="el-dialog__wrapper ccloud-pop-outer2" style="display:none;" data-v-4fb59baf><div role="dialog" aria-modal="true" aria-label="dialog" class="el-dialog el-dialog--center" style="margin-top:15vh;width:70%;"><div class="el-dialog__header"><span class="el-dialog__title"></span><!----></div><!----><div class="el-dialog__footer"><span class="dialog-footer clearfix" data-v-4fb59baf><div class="confirm-btm fr" data-v-4fb59baf>确定</div></span></div></div></div></div></div></div></div> <div style="display:none;" data-v-4722a3ae data-v-4722a3ae><!----> <div class="introduce-desc" data-v-4722a3ae><div class="introduce-desc-title" data-v-4722a3ae>社区描述</div> <span data-v-4722a3ae> Web 开发 JavaScript </span></div></div> <div class="introduce-text" data-v-4722a3ae><div class="label-box" data-v-4722a3ae><!----> <!----> <!----></div></div> <!----> <div class="manage" data-v-4722a3ae><div class="manage-inner" data-v-4722a3ae><span data-v-4722a3ae>社区管理员</span> <ul data-v-4722a3ae><li data-v-4722a3ae><a href="https://blog.csdn.net/community_91" target="_blank" class="start-img" data-v-4722a3ae><img src="https://profile-avatar.csdnimg.cn/default.jpg!1" alt="JavaScript" class="el-tooltip item" data-v-4722a3ae data-v-4722a3ae></a></li><li data-v-4722a3ae><a href="https://blog.csdn.net/sysdzw" target="_blank" class="start-img" data-v-4722a3ae><img src="https://profile-avatar.csdnimg.cn/45dcec50fd694b578374e7167ff7914a_sysdzw.jpg!1" alt="无·法" class="el-tooltip item" data-v-4722a3ae data-v-4722a3ae></a></li></ul></div></div> <div class="actions" data-v-4722a3ae><!----> <div style="flex:1;" data-v-4722a3ae><div class="join-btn" data-v-4722a3ae> 加入社区 </div></div> <!----> <!----></div> <div class="el-dialog__wrapper" style="display:none;" data-v-38c57799 data-v-4722a3ae><div role="dialog" aria-modal="true" aria-label="获取链接或二维码" class="el-dialog join-qrcode-dialog" style="margin-top:15vh;width:600px;"><div class="el-dialog__header"><span class="el-dialog__title">获取链接或二维码</span><button type="button" aria-label="Close" class="el-dialog__headerbtn"><i class="el-dialog__close el-icon el-icon-close"></i></button></div><!----><div class="el-dialog__footer"><span class="dialog-footer" data-v-38c57799></span></div></div></div> <div class="collapse-btn" data-v-4722a3ae><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAgCAYAAACFM/9sAAAAAXNSR0IArs4c6QAAAi1JREFUaEPtl01u01AUhc+N8wMSO4AxzJAqwQpKQsdtbMOICmKnwCKQ2ACDIgotrYKiduIiVZ10B0CBAjtAbICfooomJr3IcUoTiVLb15GNuG/67nm65/M5AxP0iAiQSK1iKEBhCBSgAhQSEMo1gQpQSEAo1wQqQCEBoVwT+K8CnLnWvER8cOHMaf95q9Xaj+vDtp3LPeD83u6p9a2t+U5cfVrzmSTQNOfOgg4+ATDAeNHp/Jza3Fz5HtWUZbl3GXjYn2e+53lL96Nq057LBOD0dOOcUSx8BFAcGHpZLlWmVlfnd08yaJrubRAe/Z77HwEG5kdS1E8StgFc9bzFb8dBrNtukxgLwOAXNEF6T/pAce8zSeDhknXbuUNMQRUHe/BrMNX+BNGyHIdBT45m6VVn36/FqX5cOFHmMwUYJrE5x+CgkuEujLe+361ubLS+HhowzeYtEC8NzWyXy5ValMpHgSCZyRxgsLxpui4Ij4/ShZ1S0aiurS18sSznJoOeDt29AaP6t6pLgMTV5gJgsHTddhvEWBwC9Y6AZww8AFA4Lp1xDac9nxuAYZ37aQuqGgIbPTt+t3tluNppw0jyXq4AhnV2ZkG0PAKR8b5UMiaDSicxOU5N7gCGSXRvMLAygPgB3Jv0vOXP4wSR9O1cAgzMzFxvXDR6hYlK5cd6u93eS2pw3LrcAhy38bTeV4BCkgpQAQoJCOWaQAUoJCCUawIVoJCAUK4JVIBCAkL5L1yapyGdIBwvAAAAAElFTkSuQmCC" alt data-v-4722a3ae></div></div><!----><!----><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="floor-user-right-rank" data-v-3d3affee><div class="el-tabs el-tabs--top" data-v-3d3affee><div class="el-tabs__header is-top"><div class="el-tabs__nav-wrap is-top"><div class="el-tabs__nav-scroll"><div role="tablist" class="el-tabs__nav is-top" style="transform:translateX(-0px);"><div class="el-tabs__active-bar is-top" style="width:0px;transform:translateX(0px);ms-transform:translateX(0px);webkit-transform:translateX(0px);"></div></div></div></div></div><div class="el-tabs__content"><div role="tabpanel" id="pane-integral" aria-labelledby="tab-integral" class="el-tab-pane" data-v-3d3affee></div><div role="tabpanel" aria-hidden="true" id="pane-3" aria-labelledby="tab-3" class="el-tab-pane" style="display:none;" data-v-3d3affee></div><div role="tabpanel" aria-hidden="true" id="pane-5" aria-labelledby="tab-5" class="el-tab-pane" style="display:none;" data-v-3d3affee></div><div role="tabpanel" aria-hidden="true" id="pane-6" aria-labelledby="tab-6" class="el-tab-pane" style="display:none;" data-v-3d3affee></div></div></div> <div class="floor-user-right-rank-score" data-v-608528ce data-v-3d3affee><div class="floor-user-right-rank-score-tabs" data-v-608528ce><ul data-v-608528ce><li data-v-608528ce> 近7日 </li><li data-v-608528ce> 近30日 </li><li class="active" data-v-608528ce> 至今 </li></ul></div> <div class="floor-user-right-rank-common" data-v-46cf600d data-v-608528ce><div class="rank-list" data-v-46cf600d><!----> <div class="no-data loading" data-v-46cf600d><i class="el-icon-loading" data-v-46cf600d></i> <p data-v-46cf600d>加载中</p></div> <!----> <a href="https:///JavaScript/rank/list/total" target="_blank" class="show-more" data-v-46cf600d> 查看更多榜单 </a></div></div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="floor comunity-rule" data-v-3cfa4dbd><div class="title" data-v-3cfa4dbd> 社区公告 </div> <div class="contain" data-v-3cfa4dbd><div class="inner-content" data-v-3cfa4dbd>暂无公告</div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="user-right-adimg empty-arr" data-v-15c6aa4f><div class="adImgs" data-v-2a6389b9 data-v-15c6aa4f><!----> <div data-v-2a6389b9><div data-v-2a6389b9></div></div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" community="[object Object]" class="content-right-recommend" data-v-0f781e88><div data-v-3798762e data-v-0f781e88><!----> <!----></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="ai-entrance" data-v-eb1c454c><p data-v-eb1c454c>试试用AI创作助手写篇文章吧</p> <div class="entrance-btn-line" data-v-eb1c454c><a href="https://mp.csdn.net/edit?guide=1" target="_blank" data-report-click="{"spm":"3001.9712"}" data-report-query="spm=3001.9712" class="entrance-btn" data-v-eb1c454c>+ 用AI写文章</a></div></div></div></div></div></div></div></div></div></div></div></div></div> <div> <script type="text/javascript" src="https://g.csdnimg.cn/common/csdn-footer/csdn-footer.js" data-isfootertrack="false" defer></script> </div></div></div><script> window.__INITIAL_STATE__= {"csrf":"92wx1Vhp-OwbmQSdrmWFQU3t5PqRnls8N7nY","origin":"http:\u002F\u002Fbbs.csdn.net","isMobile":false,"cookie":"uuid_tt_dd=10_3162053700-1713579272532-726324;","ip":"18.216.233.58","pageData":{"page":{"pageId":143,"title":"社区详情","keywords":"社区详情","description":"社区详情","ext":{"isMd":"true","armsfe1":"{pid:\"dyiaei5ihw@1a348e4d05c2c78\",appType:\"web\",imgUrl:\"https:\u002F\u002Farms-retcode.aliyuncs.com\u002Fr.png?\",sendResource:true,enableLinkTrace:true,behavior:true}","redPacketCfg":"{\"presetTitle\":[\"成就一亿技术人!\",\"大吉大利\",\"节日快乐\",\"Bug Free\",\"Hello World\",\"Be Greater Than Average!!\"],\"defaultTitle\":\"成就一亿技术人!\",\"preOpenSty\":{},\"redCardSty\":{}}","blogStar":"[{\"year\":\"2021\",\"enable\":true,\"communityIds\":[3859],\"url\":\"https:\u002F\u002Fbbs.csdn.net\u002Fsummary2021\"},{\"year\":\"2022\",\"enable\":true,\"communityIds\":[3860],\"url\":\"https:\u002F\u002Fbbs.csdn.net\u002Fsummary2022\"}]","mdVersion":"https:\u002F\u002Fcsdnimg.cn\u002Frelease\u002Fmarkdown-editor\u002F1.1.0\u002Fmarkdown-editor.js","componentSortCfg":"{ \"right\":[\"ratesInfo\",\"cty-profile\",\"pub-comp\",\"user-right-introduce\",\"post-event\",\"my-mission\",\"user-recommend\",\"user-right-rank\",\"user-right-rule\",\"user-right-adimg\"] }","show_1024":"{\"enable\":false,\"useWhitelist\":false,\"whitelist\":[76215],\"home\":\"https:\u002F\u002F1111.csdn.net\u002F\",\"logo\":\"https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221104102741.png\",\"hideLive\":true}","iframes":"[\"3859\"]","pageCfg":"{\"disableDownloadPDF\": false,\"hideSponsor\":false}"}},"template":{"templateId":71,"templateComponentName":"ccloud-detail","title":"ccloud-detail","floorList":[{"floorId":562,"floorComponentName":"floor-user-content","title":"社区详情页","description":"社区详情页","indexOrder":3,"componentList":[{"componentName":"baseInfo","componentDataId":"cloud-detail1","componentConfigData":{},"relationType":3},{"componentName":"user-right-introduce","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-recommend","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-rank","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-rule","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-adimg","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"default2014LiveRoom","componentDataId":"20221024DefaultLiveRoom","componentConfigData":{},"relationType":3}]}]},"data":{"baseInfo":{"customDomain":"","uriName":"JavaScript","communityHomePage":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript","owner":{"userName":"community_91","nickName":"JavaScript","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","position":"","companyName":""},"user":{"userRole":3,"userName":null,"nickName":null,"avatarUrl":null,"rank":null,"follow":2,"communityBase":null,"joinCollege":null,"isVIP":null},"community":{"name":"JavaScript","description":"Web 开发 JavaScript","avatarUrl":"https:\u002F\u002Fimg-community.csdnimg.cn\u002Favatar\u002Fca46c476a908476d9927eaee4b0afc10.png?x-oss-process=image\u002Fresize,m_fixed,h_88,w_88","qrCode":"","createTime":"2007-09-28","communityAvatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","communityNotice":null,"userCount":87904,"contentCount":224614,"followersCount":53221,"communityRule":"","communityId":209,"bgImage":"","hashId":"y3w0yonz","domain":"","uriName":"JavaScript","externalDisplay":1,"adBanner":{"img":"","url":"","adType":0,"adCon":null},"rightBanner":{"img":"","url":"","adType":0,"adCon":null},"tagId":null,"tagName":null,"communityType":1,"communityApplyUrl":"https:\u002F\u002Fmarketing.csdn.net\u002Fquestions\u002FQ2106040308026533763","joinType":0,"visibleType":0,"collapse":0,"topicMoveAble":0,"allowActions":{},"communityOwner":"community_91","tagNameInfo":{"provinceTag":null,"areaTag":null,"technologyTags":null,"customTags":null}},"tabList":[{"tabId":1368,"tabName":"全部","tabUrl":"","tabSwitch":1,"tabType":4,"tabContribute":0,"cardType":0,"indexOrder":-1,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript?typeId=1368","iframe":false,"sortType":1},{"tabId":873,"tabName":"问答","tabUrl":"https:\u002F\u002Fask.csdn.net\u002Flist\u002F11\u002Ftag\u002F190","tabSwitch":1,"tabType":0,"tabContribute":0,"indexOrder":0,"iframe":true,"sortType":1},{"tabId":4055678,"tabName":"博文收录","tabUrl":"","tabSwitch":1,"tabType":2,"tabContribute":0,"cardType":0,"indexOrder":19,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript?typeId=4055678","iframe":false,"sortType":1},{"tabId":1620032,"tabName":"Ada助手","tabUrl":"","tabSwitch":1,"tabType":2,"tabContribute":0,"cardType":0,"indexOrder":20,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript?typeId=1620032","iframe":false,"sortType":1}],"dataResource":{"mediaType":"c_cloud","subResourceType":"8_c_cloud_long_text","showType":"long_text","tabId":0,"communityName":"JavaScript","communityHomePageUrl":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript","communityType":1,"content":{"id":"50023617","contentId":50023617,"cateId":0,"cateName":null,"url":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F50023617","shareUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F50023617","createTime":"2004-01-13 02:48:46","updateTime":"2021-05-28 14:08:22","resourceUsername":"zhangxhsj","best":0,"top":0,"text":null,"publishDate":"2004-01-13","lastReplyDate":"2004-01-13","type":"13","nickname":"zhangxhsj","avatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F8a3d130de0d04ab58ff30aa3e515fec2_zhangxhsj.jpg!1","username":"zhangxhsj","commentCount":2,"diggNum":0,"digg":false,"viewCount":51,"hit":false,"resourceSource":6,"status":10,"taskStatus":null,"expired":false,"taskCate":0,"taskAward":0,"taskExpired":null,"checkRedPacket":null,"avgScore":0,"totalScore":0,"topicTitle":"关于在netscape中document获取tags的方法","insertFirst":false,"likeInfo":null,"description":"我知道在IE中可以这样做: var tds; tds=document.all.tablename.all.tags(\"td\"); \u002F\u002Ftablename为表格的名字 那么在netscape中该怎么写呢?","coverImg":"https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221109053802.png","content":"我知道在IE中可以这样做:\u003Cbr \u002F\u003E\nvar tds;\u003Cbr \u002F\u003E\ntds=document.all.tablename.all.tags("td"); \u002F\u002Ftablename为表格的名字\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n那么在netscape中该怎么写呢?","mdContent":null,"pictures":null,"videoInfo":null,"linkInfo":null,"student":{"isCertification":false,"org":"","bala":""},"employee":{"isCertification":false,"org":"","bala":""},"userCertification":[],"dependId":"0","dependSubType":null,"videoUrl":null,"favoriteCount":0,"favoriteStatus":false,"taskType":null,"defaultScore":null,"syncAsk":false,"videoPlayLength":null},"communityUser":null,"allowPost":false,"submitHistory":[{"user":{"registerurl":"https:\u002F\u002Fg.csdnimg.cn\u002Fstatic\u002Fuser-reg-year\u002F1x\u002F22.png","avatarurl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F8a3d130de0d04ab58ff30aa3e515fec2_zhangxhsj.jpg!1","nickname":"zhangxhsj","selfdesc":"","createdate":"2002-03-30 11:40:00","days":"8057","years":"22","username":"zhangxhsj","school":null,"company":null,"job":null},"userName":"zhangxhsj","event":"创建了帖子","body":"2004-01-13 02:48","editId":null}],"resourceExt":{}},"contentReply":{"pageNo":1,"pageSize":20,"totalPages":1,"totalCount":2,"total":0,"list":[{"hit":null,"hitMsg":null,"content":"这种方法是通用的吧,那就可以把document.all这种用法去掉了.","topicTitle":null,"description":"这种方法是通用的吧,那就可以把document.all这种用法去掉了.","id":32277918,"contentResourceId":50023617,"bindContentResourceId":0,"communityId":209,"username":"zhangxhsj","userNickName":"zhangxhsj","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F8a3d130de0d04ab58ff30aa3e515fec2_zhangxhsj.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":0,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2004-01-13 03:09:08","updateTime":"2004-01-13 03:09:08","formatTime":"2004-01-13","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"document.getElementById("tablename").getElementsByTagName("td")","topicTitle":null,"description":"document.getElementById(\"tablename\").getElementsByTagName(\"td\")","id":32277566,"contentResourceId":50023617,"bindContentResourceId":0,"communityId":209,"username":"cloudchen","userNickName":"cloudchen","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":0,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2004-01-13 03:00:32","updateTime":"2004-01-13 03:00:32","formatTime":"2004-01-13","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null}],"maxPageSize":3000},"defaultActiveTab":1368,"recommends":[{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fzhangjian01361\u002F2641739","title":"cutEditor -最好用的在线编辑器","desc":"CuteEditor for ASP.\u003Cem\u003ENE\u003C\u002Fem\u003ET\u003Cem\u003E中\u003C\u002Fem\u003E文版是建立在Html基础之上,最简单易用、功能最强大的所见即所得Asp.\u003Cem\u003Ene\u003C\u002Fem\u003Et在线编辑器。\n CuteEditor可以帮助Asp.\u003Cem\u003Ene\u003C\u002Fem\u003Et开发者轻松的对原来文本框(Textarea)\u003Cem\u003E中\u003C\u002Fem\u003E的内容(包括文字、图片等Html内容)进行编辑,更重要得是这些内容编辑的实现是所见即所得方式。 \n CuteEditor还集成了文件(包括图片、文档等)上传、媒体(包括视频、声音等,支持YouTube)文件直接插入等对你来说非常实用的功能模块。\n 对于商业授权用户,他们以完全自己进行操作升级和安全维护,我们制定了多种授权方式供广大用户选择。\n\nCuteEditor功能特点\n是什么使CuteEditor成为Html在线编辑器的领航者?除了其强大的功能和方便的使用, 这里还有一些顶尖的技术因素是CuteEditor编辑器成为你编辑和发布Web内容的最佳选择: \n跨浏览器、跨平台的所见即所得网页编辑器\n\nCompatible with the most important browsers available in the market: IE 5.5+, Firefox 1.0+, Mozilla 1.3+, \u003Cem\u003ENe\u003C\u002Fem\u003E\u003Cem\u003Etsc\u003C\u002Fem\u003E\u003Cem\u003Eape\u003C\u002Fem\u003E 7+, Chrome and Safari (1.3+). This includes Macintosh and Linux. \n\n界面简洁加载速度快\n\nNumerous optimization methods has been applied. It's clean, compact, extremely fast-loading, but still powerful and efficient. \n\nCuteEditor遵循Web标准,没有类似 这种标签\n\nDoes your onli\u003Cem\u003Ene\u003C\u002Fem\u003E html editor still use deprecated \u003Cem\u003Etags\u003C\u002Fem\u003E such as \u003CFONT\u003E? Cute Editor will help you build sites that adhere to the latest HTML standards, ge\u003Cem\u003Ene\u003C\u002Fem\u003Erates clean HTML\u002FXHTML code with no deprecated \u003Cem\u003Etags\u003C\u002Fem\u003E. \n\n能自动清理HTML代码\u003Cem\u003E中\u003C\u002Fem\u003EWord标记\n\nWhen text is pasted from Microsoft Word allot of un\u003Cem\u003Ene\u003C\u002Fem\u003Ecessary word specific markup is carried across. This can result in web pages that take an un\u003Cem\u003Ene\u003C\u002Fem\u003Ecessarily long time to download. The Paste from Word button solves this by removing word markup before pasting the text into your page. \n\n对于开发人员来说简单易用\n\nThe perfect addition to your content management system! Only a couple li\u003Cem\u003Ene\u003C\u002Fem\u003Es of code , you don't \u003Cem\u003Ene\u003C\u002Fem\u003Eed to be an expert. Allows you to add an onli\u003Cem\u003Ene\u003C\u002Fem\u003E HTML editing functionality that works with standard HTML form.\n\n很容易用API隐藏按钮和Tabs标记\n\nCute Editor allows developers to set the image directory, set the controls width, disable image uploading and deleting, restrict access to the source\u002Fpreview tabs, hide buttons and lists that you don't want your clients to see or access. \n\n高级表格管理\n\nCreate and modify tables and table cells. Set their border color, alignment, cellspacing and more! Once you've created a table, simply right click inside of it and use the handy popup menu to change its attributes. \u003Ccaption\u003E,\u003Csummary\u003E,\u003Cthead\u003E,\u003Ctfoot\u003E,\u003Cth\u003E \u003Cem\u003Etags\u003C\u002Fem\u003E are supported. \n\n图片插入和自动上传\n\nBuilt-in thumbnail ge\u003Cem\u003Ene\u003C\u002Fem\u003Erator. Thumbnail images are dynamically created; Supports upload \u003Cem\u003Ene\u003C\u002Fem\u003Ew images. Paging - specify how many images. Support auto resize images.\n\n用模板来管理内容\n\nThe basic idea behind a Content Management System (CMS) is to separate the management of content from design. Cute Editor allows the site desig\u003Cem\u003Ene\u003C\u002Fem\u003Er to easily create and establish templates to give the site a uniform look. Templates may be modified when desired. \n\n在线图像编辑\n\nPeople that input content on a website are ge\u003Cem\u003Ene\u003C\u002Fem\u003Erally not web desig\u003Cem\u003Ene\u003C\u002Fem\u003Ers, so most don't have that design & technical fibre in them. With onli\u003Cem\u003Ene\u003C\u002Fem\u003E image editor, you can now edit image file with no image editing software to download or install! Easy drag and drop familiar interface. Resize, change dimensions, scale, crop, add text, optimize, rotate, flip, mirror and add watermark. \n\n把图片存储于数据库\u003Cem\u003E中\u003C\u002Fem\u003E\n\nWith CuteEditor you can easily use a Sql Server database or access database as the file storage. \n\nRTF到HTML的相互转换\n\nWith CuteEditor you can easily convert an HTML \u003Cem\u003Edocument\u003C\u002Fem\u003E into an RTF file and RTF file into HTML or XHTML \u003Cem\u003Edocument\u003C\u002Fem\u003E. \n\n创建PDF文件\n\nCuteEditor also allows you dynamically create Adobe PDF \u003Cem\u003Edocument\u003C\u002Fem\u003Es from ASP.\u003Cem\u003ENE\u003C\u002Fem\u003ET.\n\n高级文件上传模式\n\nWe integrate a hi-performance ASP.\u003Cem\u003ENE\u003C\u002Fem\u003ET upload compo\u003Cem\u003Ene\u003C\u002Fem\u003Ent - Ajax uploader into Cute Editor. Ajax Uploader allows you to select and upload multiple files at once. It also supports client side validation of the file size\u002Ftype before uploading.","createTime":"2010-08-23 21:58:52","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2641739-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2641739-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fzhangjian01361\u002F2641739\",\"strategy\":\"2~default~OPENSEARCH~Paid\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2641739-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1713579272571_66990\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fzhangjian01361\u002F2641739\",\"strategy\":\"2~default~OPENSEARCH~Paid\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2641739-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1713579272571_66990\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Ffanshuzone\u002F196338","title":"cuteEditor6.0","desc":"\u003Cbr\u002F\u003ECuteEditor功能特点 \u003Cbr\u002F\u003E是什么使CuteEditor成为Html在线编辑器的领航者?除了其强大的功能和方便的使用, 这里还有一些顶尖的技术因素是CuteEditor编辑器成为你编辑和发布Web内容的最佳选择: \u003Cbr\u002F\u003E 界面简洁加载速度快 \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E由于才有了很多优化\u003Cem\u003E方法\u003C\u002Fem\u003E,所以CuteEditor非常简单、小巧、装载速度快,但仍然保持功能强大、执行效率高的特点。 \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 跨浏览器,跨平台的所见即所得在线html编辑器 \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E兼容市面上最流行的ie5.5+,firefox1.0+,mozilla1.3+, \u003Cem\u003Ene\u003C\u002Fem\u003E\u003Cem\u003Etsc\u003C\u002Fem\u003E\u003Cem\u003Eape\u003C\u002Fem\u003E7+和Safari(1.3+)浏览器,并且包括Mac和Linux操作平台。 \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E CuteEditor遵循Web标准,没有类似 \u003CFONT\u003E 这种标签 \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E你的Html编辑器还在使用类似 \u003CFONT\u003E这种标签么? CuteEditor会帮助你构建用户最新Web标准的html代码标签,自动生成简洁的HTML\u002FXHTML代码。 为什么要遵循Web标准? \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E学习应用Web标准有很多益处,下面给几个简单例子:\u003Cbr\u002F\u003E\u003Cbr\u002F\u003E获得好的搜索引擎排名: The separation of content and presentation makes the content represent a larger part of the total file size. Combi\u003Cem\u003Ene\u003C\u002Fem\u003Ed with semantic markup this will improve search engi\u003Cem\u003Ene\u003C\u002Fem\u003E rankings. \u003Cbr\u002F\u003E更快的下载和加载网页: Less HTML results in smaller file sizes and quicker downloads. Modern web browsers render pages faster when they are in their standards mode than when they are in their backwards compatible mode. \u003Cbr\u002F\u003E适应未来网页浏览器: When you use defi\u003Cem\u003Ene\u003C\u002Fem\u003Ed standards and valid code you future-proof your \u003Cem\u003Edocument\u003C\u002Fem\u003Es by reducing the risk of future web browsers not being able to understand the code you have used. \u003Cbr\u002F\u003E代码编写简单,维护方便: Using more semantic and structured HTML makes it easier and quicker to understand code created by somebody else. \u003Cbr\u002F\u003E适应其他设备: Semantic HTML, where structure is separated from presentation, makes it easier for screen readers and alternative browsing devices to interpret the content. \u003Cbr\u002F\u003E非常好的适应性: A semantically marked up \u003Cem\u003Edocument\u003C\u002Fem\u003E can be easily adapted to print and alternative browsing devices, like handheld computers and cellular pho\u003Cem\u003Ene\u003C\u002Fem\u003Es, just by linking to a different CSS file. You can also make site-wide changes to presentation by editing a single file. \u003Cbr\u002F\u003ERead more:\u003Cbr\u002F\u003E我的网页符合Web标准,你的呢? \u003Cbr\u002F\u003E 能自动清理HTML代码\u003Cem\u003E中\u003C\u002Fem\u003EWord标记 \u003Cbr\u002F\u003E\u003Cbr\u002F\u003EWhen text is pasted from Microsoft Word allot of un\u003Cem\u003Ene\u003C\u002Fem\u003Ecessary word specific markup is carried across. This can result in web pages that take an un\u003Cem\u003Ene\u003C\u002Fem\u003Ecessarily long time to download. The Paste from Word button solves this by removing word markup before pasting the text into your page. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 支持W3C WAI和section 508的无障碍引导 \u003Cbr\u002F\u003E\u003Cbr\u002F\u003ECute Editor optional accessibility settings ensure your site complies with Section 508, so people with disabilities can have full access to your content.\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 输出的HTML或不错的XHTML供你选择 (Demo)\u003Cbr\u002F\u003E\u003Cbr\u002F\u003ECute Editor supports output well-formed XHTML. Your choice of XHTML 1.0 or HTML 4.01 output. \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 无限次的撤销\u002F恢复\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EMany of the other editors on the market cannot undo or redo certain actions, and certain table operations - such as cell merge or column deletion. Cute Editor 4.0 has a \u003Cem\u003Ene\u003C\u002Fem\u003Ew custom undo\u002Fredo implementation to make you can now safely undo those actions. \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 多语言支持,通过简单设置XML即可完成 (Demo)\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EAll labels, buttons, tooltips and messages are located in external XML files, so that the language of the editor can be switched with a single property. You can also create a \u003Cem\u003Ene\u003C\u002Fem\u003Ew language in a matter of minutes. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 完全支持页面编辑(从 \u003CHTML\u003E 到 \u003C\u002FHTML\u003E) (Demo)\u003Cbr\u002F\u003E\u003Cbr\u002F\u003ECute Editor 4.0 allows you to edit a full HTML page, including \u003Ctitle\u003E, \u003C!DOCTYPE...\u003E and some other options. You can also insert Form elements (checkbox, button, textarea, etc.) and modify certain properties of the element.\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 默认换行为软回车 (Demo)\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EMost other editors insert double li\u003Cem\u003Ene\u003C\u002Fem\u003E returns which can be annoying for clients who are used to editing in Microsoft Word. CuteEditor can be configured to use \u003Cdiv\u003E, \u003Cbr\u003E or \u003Cp\u003E \u003Cem\u003Etags\u003C\u002Fem\u003E when you press enter. In either mode \u003Cbr\u003E \u003Cem\u003Etags\u003C\u002Fem\u003E can be created by using shift+enter.\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 支持代码缩进和小写字母\u003Cbr\u002F\u003E\u003Cbr\u002F\u003ECute Editor displays nicely indented code in the HTML mode and the ge\u003Cem\u003Ene\u003C\u002Fem\u003Erating HTML \u003Cem\u003Etags\u003C\u002Fem\u003E and Attributes are in lower case. This is very convenient and important for the advanced users. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 支持全屏编辑 (Demo)\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EIt does not open a \u003Cem\u003Ene\u003C\u002Fem\u003Ew window, instead it will resize to fit the browser screen. Edit in full screen mode, maximizing your available space. \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 没有打开较慢的Java或ActiveX组件\u003Cbr\u002F\u003E\u003Cbr\u002F\u003E100% DHTML, JavaScript ASP.\u003Cem\u003ENe\u003C\u002Fem\u003Et code. There are no slow Java or ActiveX compo\u003Cem\u003Ene\u003C\u002Fem\u003Ents to worry about and everything is handled in the browser! \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 支持相对地址和URL自动关联(Demo)\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EWith Cute Editor, you have the choice of using either a relative or absolute URL. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 部署简单\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EThe perfect addition to your content management system! Only a couple li\u003Cem\u003Ene\u003C\u002Fem\u003Es of code , you don't \u003Cem\u003Ene\u003C\u002Fem\u003Eed to be an expert. Allows you to add an onli\u003Cem\u003Ene\u003C\u002Fem\u003E HTML editing functionality that works with standard HTML form.\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 可以简单的通过API隐藏按钮和标签 \u003Cbr\u002F\u003E\u003Cbr\u002F\u003ECute Editor allows developers to set the image directory, set the controls width, disable image uploading and deleting, restrict access to the source\u002Fpreview tabs, hide buttons and lists that you don't want your clients to see or access. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 支持图片的文字环绕 \u003Cbr\u002F\u003E\u003Cbr\u002F\u003ELocate the image you want to wrap text around, and click any justify button in the toolbar. The image will float to the desired direction. Text will be positio\u003Cem\u003Ene\u003C\u002Fem\u003Ed around the image. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 支持文件下载 \u003Cbr\u002F\u003E\u003Cbr\u002F\u003EYou can upload \u003Cem\u003Edocument\u003C\u002Fem\u003E files, create a link from your HTML content to the \u003Cem\u003Edocument\u003C\u002Fem\u003E files (zip files, ppt files...). \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E CSS型皮肤 (Demo)\u003Cbr\u002F\u003E\u003Cbr\u002F\u003ECute Editor provides several built in themes that are ready to use. Developers can completely change the appearance of the toolbar and the dialogs by simply modifying the supplied classes and images. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 高级的表格管理\u003Cbr\u002F\u003E\u003Cbr\u002F\u003ECreate and modify tables and table cells. Set their border color, alignment, cellspacing and more! Once you've created a table, simply right click inside of it and use the handy popup menu to change its attributes. \u003Ccaption\u003E,\u003Csummary\u003E,\u003Cthead\u003E,\u003Ctfoot\u003E,\u003Cth\u003E \u003Cem\u003Etags\u003C\u002Fem\u003E are supported. \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 图片插入和自动上传\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EBuilt-in thumbnail ge\u003Cem\u003Ene\u003C\u002Fem\u003Erator. Thumbnail images are dynamically created; Supports upload \u003Cem\u003Ene\u003C\u002Fem\u003Ew images. Paging - specify how many images. Support auto resize images.\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 具有特殊的对话框\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EWith Style builder dialog box you can apply CSS style attributes directly to any HTML elements on your Web page.\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 支持内容模板 (Demo)\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EThe basic idea behind a Content Management System (CMS) is to separate the management of content from design. Cute Editor allows the site desig\u003Cem\u003Ene\u003C\u002Fem\u003Er to easily create and establish templates to give the site a uniform look. Templates may be modified when desired. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 通过限制html和文字的长度来保护你的数据库 (Demo)\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EIf you tried to insert a record whose text length is greater than allowed by your table, an error will be reported. To prevent this type of error from occurring, developers can use MaxHTMLLength or MaxTextLength in the Cute Editor to limit the length of the user抯 input. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E Apply security to control user access to resources \u003Cbr\u002F\u003E\u003Cbr\u002F\u003ECute Editor allows developers to assign a pre-defi\u003Cem\u003Ene\u003C\u002Fem\u003Ed set of permissions by group or individual. This prevents a normal user to access the administration functionality. \u003Cbr\u002F\u003E\u003Cbr\u002F\u003EThe details of permissions are specified by an XML security policy file. Each level maps to a specific file. The default mappings: \u003Cbr\u002F\u003E\u003Cbr\u002F\u003Eadmin设置 admin.config \u003Cbr\u002F\u003Edefault设置 default.config \u003Cbr\u002F\u003Eguest设置 guest.config \u003Cbr\u002F\u003EYou can customize and extend each policy file by editing the XML security policy file. You can also create your own policy files that defi\u003Cem\u003Ene\u003C\u002Fem\u003E arbitrary permission sets.\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EComparison of the sample security policy file \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E \u003Cbr\u002F\u003EPermissions\u002FResource Setting Admin Default Guest \u003Cbr\u002F\u003EAllowUpload \u003Cbr\u002F\u003EAllowDelete \u003Cbr\u002F\u003EAllowCopy \u003Cbr\u002F\u003EAllowMove \u003Cbr\u002F\u003EAllowCreateFolder \u003Cbr\u002F\u003EAllowDeleteFolder \u003Cbr\u002F\u003ERestrictUploadedImageDimension \u003Cbr\u002F\u003EAutoResizeUploadedImages \u003Cbr\u002F\u003EMaxImageWidth 6400 640 640 \u003Cbr\u002F\u003EMaxImageHeight 4800 480 480 \u003Cbr\u002F\u003EMaxImageSize 10000 100 100 \u003Cbr\u002F\u003EMaxMediaSize 10000 100 100 \u003Cbr\u002F\u003EMaxFlashSize 10000 100 100 \u003Cbr\u002F\u003EMax\u003Cem\u003EDocument\u003C\u002Fem\u003ESize 10000 100 100 \u003Cbr\u002F\u003EImageGalleryPath ~\u002Fuploads ~\u002Fuploads\u002Fmember ~\u002Fuploads\u002Fguest \u003Cbr\u002F\u003EMediaGalleryPath ~\u002Fuploads ~\u002Fuploads\u002Fmember ~\u002Fuploads\u002Fguest \u003Cbr\u002F\u003EFlashGalleryPath ~\u002Fuploads ~\u002Fuploads\u002Fmember ~\u002Fuploads\u002Fguest \u003Cbr\u002F\u003EFilesGallaryPath ~\u002Fuploads ~\u002Fuploads\u002Fmember ~\u002Fuploads\u002Fguest \u003Cbr\u002F\u003EImageFilters .jpg \u003Cbr\u002F\u003E.jpeg \u003Cbr\u002F\u003E.gif \u003Cbr\u002F\u003E.png .jpg \u003Cbr\u002F\u003E.jpeg \u003Cbr\u002F\u003E.gif \u003Cbr\u002F\u003E .jpg \u003Cbr\u002F\u003E.jpeg \u003Cbr\u002F\u003E.gif \u003Cbr\u002F\u003E \u003Cbr\u002F\u003EMediaFilters .avi \u003Cbr\u002F\u003E.mpg \u003Cbr\u002F\u003E.mpeg \u003Cbr\u002F\u003E.mp3 .avi \u003Cbr\u002F\u003E.mpg \u003Cbr\u002F\u003E.mpeg \u003Cbr\u002F\u003E .avi \u003Cbr\u002F\u003E.mpg \u003Cbr\u002F\u003E.mpeg \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E\u003Cem\u003EDocument\u003C\u002Fem\u003EFilters .txt, .doc\u003Cbr\u002F\u003E.pdf, .zip\u003Cbr\u002F\u003E.rar, .avi\u003Cbr\u002F\u003E.mpg, .mpeg\u003Cbr\u002F\u003E.mp3, .jpg\u003Cbr\u002F\u003E.jpeg,.gif\u003Cbr\u002F\u003E.png .pdf, .doc\u003Cbr\u002F\u003E .txt, .doc\u003Cbr\u002F\u003E.pdf, .zip\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 在线图片编辑\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EPeople that input content on a website are ge\u003Cem\u003Ene\u003C\u002Fem\u003Erally not web desig\u003Cem\u003Ene\u003C\u002Fem\u003Ers, so most don't have that design & technical fibre in them. With onli\u003Cem\u003Ene\u003C\u002Fem\u003E image editor, you can now edit image file with no image editing software to download or install! Easy drag and drop familiar interface. Resize, change dimensions, scale, crop, add text, optimize, rotate, flip, mirror and add watermark. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 控制上传文件夹大小\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EMax Upload Folder size(Including all subfolders and files. A must have feature for people who have limited hosting space.) Dynamic display of available free space in the Upload Folder.Limits the size of your upload folder. If the max is reached uploads will be disabled. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 支持图片热点\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EImage maps are pictures with clickable regions also known as \"hotspots.\" When users click on o\u003Cem\u003Ene\u003C\u002Fem\u003E of the hotspots, they're directed to the page you designate. CuteEditor 5.0 lets you easily create image maps to add fun and excitement to a page\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E \u003Cdiv\u003E 的盒模式\u003Cbr\u002F\u003E\u003Cbr\u002F\u003E\u003Cdiv\u003E boxes offer a much greater ability to control the layout of a page. With CuteEditor, you can put any content between \u003Cdiv\u003E \u003Cem\u003Etags\u003C\u002Fem\u003E and then use CSS to style all sorts of borders, backgrounds, etc. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 通用虚拟键盘\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EVirtual Keyboard does not require changes to language settings of your system and even speeds up the entire text input process for your customers. It lets your native speaking clients to access your web resources from any location in the world without changing national keyboard layouts and fonts on their machi\u003Cem\u003Ene\u003C\u002Fem\u003Es. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 把图片存到数据库\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EWith CuteEditor you can easily use a Sql Server database or access database as the file storage. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E RTF和HTML之间互相转换\u003Cbr\u002F\u003E\u003Cbr\u002F\u003EWith CuteEditor you can easily convert an HTML \u003Cem\u003Edocument\u003C\u002Fem\u003E into an RTF file and RTF file into HTML or XHTML \u003Cem\u003Edocument\u003C\u002Fem\u003E. \u003Cbr\u002F\u003E \u003Cbr\u002F\u003E 生成PDF文件\u003Cbr\u002F\u003E\u003Cbr\u002F\u003ECuteEditor also allows you dynamically create Adobe PDF \u003Cem\u003Edocument\u003C\u002Fem\u003Es from ASP.\u003Cem\u003ENE\u003C\u002Fem\u003ET.\u003Cbr\u002F\u003E cuteEditor6.0多语言版(集成lic文件) \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E目前功能强大,最好的Asp.\u003Cem\u003Ene\u003C\u002Fem\u003Et编辑器之一 \u003Cbr\u002F\u003E除了一般html编辑器具有的功能外,还有word过滤、图片在线处理、加水印等实用功能 \u003Cbr\u002F\u003E使用关键步骤: \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E1、引用bin下的cuteEditor文件 \u003Cbr\u002F\u003E2、在aspx页面顶部\u003Cem\u003E中\u003C\u002Fem\u003E添加引用 \u003Cbr\u002F\u003E3、在aspx页面\u003Cem\u003E中\u003C\u002Fem\u003E加入代码 \u003Cbr\u002F\u003E4、最后可以在.cs文件\u003Cem\u003E中\u003C\u002Fem\u003E通过来读取Editor1.Text的值来进行任意的扩展和控制了 \u003Cbr\u002F\u003E具体配置可参照default.aspx和default.aspx.cs \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E关于cuteEditor6.0的特征及体验请浏览cuteEditor.cn,系统集成了lic授权文件,仅供体验测试使用,请不要用于任何商业用途! \u003Cbr\u002F\u003E\u003Cbr\u002F\u003E \u003Cbr\u002F\u003E","createTime":"2007-06-19 11:25:19","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-196338-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-196338-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Ffanshuzone\u002F196338\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-196338-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1713579272571_66990\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Ffanshuzone\u002F196338\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-196338-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1713579272571_66990\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fedu.csdn.net\u002Fcourse\u002Fdetail\u002F7325","title":"JavaScript 前端开发技术","desc":"JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境\u003Cem\u003E中\u003C\u002Fem\u003E,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。 [1] JavaScript在1995年由\u003Cem\u003ENe\u003C\u002Fem\u003E\u003Cem\u003Etsc\u003C\u002Fem\u003E\u003Cem\u003Eape\u003C\u002Fem\u003E公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为\u003Cem\u003ENe\u003C\u002Fem\u003E\u003Cem\u003Etsc\u003C\u002Fem\u003E\u003Cem\u003Eape\u003C\u002Fem\u003E与Sun合作,\u003Cem\u003ENe\u003C\u002Fem\u003E\u003Cem\u003Etsc\u003C\u002Fem\u003E\u003Cem\u003Eape\u003C\u002Fem\u003E管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。 [2] JavaScript的标准是ECMAScript 。截至 2012 年,所有浏览器都完整的支持ECMAScript 5.1,旧版本的浏览器至少支持ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为ECMAScript 6 或者ES6。 [1] ","createTime":"2018-03-06 12:04:08","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-course-2~default~OPENSEARCH~Rate-3-7325-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-course-2~default~OPENSEARCH~Rate-3-7325-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fedu.csdn.net\u002Fcourse\u002Fdetail\u002F7325\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-course-2~default~OPENSEARCH~Rate-3-7325-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1713579272571_66990\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fedu.csdn.net\u002Fcourse\u002Fdetail\u002F7325\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-course-2~default~OPENSEARCH~Rate-3-7325-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1713579272571_66990\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"course"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fu011233602\u002F5663509","title":"Python Cookbook英文版","desc":"Python Cookbook英文版\nTable of Contents \nForeword \nPreface \n1. Python Shortcuts \n 1.1 Swapping Values Without Using a Temporary Variable \n 1.2 Constructing a Dictionary Without Excessive Quoting \n 1.3 Getting a Value from a Dictionary \n 1.4 Adding an Entry to a Dictionary \n 1.5 Associating Multiple Values with Each Key in a Dictionary \n 1.6 Dispatching Using a Dictionary \n 1.7 Collecting a Bunch of Named Items \n 1.8 Finding the Intersection of Two Dictionaries \n 1.9 Assigning and Testing with O\u003Cem\u003Ene\u003C\u002Fem\u003E Statement \n 1.10 Using List Comprehensions Instead of map and filter \n 1.11 Unzipping Simple List-Like Objects \n 1.12 Flattening a \u003Cem\u003ENe\u003C\u002Fem\u003Ested Sequence \n 1.13 Looping in Parallel over Index and Sequence Items \n 1.14 Looping Through Multiple Lists \n 1.15 Spanning a Range Defi\u003Cem\u003Ene\u003C\u002Fem\u003Ed by Floats \n 1.16 Transposing Two-Dimensional Arrays \n 1.17 Creating Lists of Lists Without Sharing References \n \n2. Searching and Sorting \n 2.1 Sorting a Dictionary \n 2.2 Processing Selected Pairs of Structured Data Efficiently \n 2.3 Sorting While Guaranteeing Sort Stability \n 2.4 Sorting by O\u003Cem\u003Ene\u003C\u002Fem\u003E Field, Then by Another \n 2.5 Looking for Items in a Sorted Sequence Using Binary Search \n 2.6 Sorting a List of Objects by an Attribute of the Objects \n 2.7 Sorting by Item or by Attribute \n 2.8 Selecting Random Elements from a List Without Repetition \n 2.9 Performing Frequent Membership Tests on a Sequence \n 2.10 Finding the Deep Index of an Item in an Embedded Sequence \n 2.11 Showing Off Quicksort in Three Li\u003Cem\u003Ene\u003C\u002Fem\u003Es \n 2.12 Sorting Objects Using SQL's ORDER BY Syntax \n \n3. Text \n 3.1 Processing a String O\u003Cem\u003Ene\u003C\u002Fem\u003E Character at a Time \n 3.2 Testing if an Object Is String-Like \n 3.3 Aligning Strings \n 3.4 Trimming Space from the Ends of a String \n 3.5 Combining Strings \n 3.6 Checking Whe","createTime":"2013-06-28 10:23:45","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5663509-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5663509-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fu011233602\u002F5663509\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5663509-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1713579272571_66990\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fu011233602\u002F5663509\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-5663509-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1713579272571_66990\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fdrjiachen\u002F11554190","title":"VB.\u003Cem\u003ENE\u003C\u002Fem\u003ET Developer's Guide(4574).pdf","desc":"Contents\nxvii\nWeb Forms \n133\nIntellisense \n134\nCustomizing the IDE \n135\nCustomizing the Code Editor \n135\nCustomizing Shortcut Keys \n135\nCustomizing the Toolbars \n136\nExercise 3.4 Adding a \u003Cem\u003ENe\u003C\u002Fem\u003Ew Toolbar to\nthe Existing Set \n136\nExercise 3.5 Adding Commands to\nToolbars \n137\nCustomizing Built-In Commands \n137\nExercise 3.6 Creating an Alias \n138\nCustomizing the Start Page \n139\nAccessibility Options \n141\nSummary \n142\nSolutions Fast Track \n142\nFrequently Asked Questions\n143\nChapter 4 Common Language Runtime \n145\nIntroduction \n146\nCompo\u003Cem\u003Ene\u003C\u002Fem\u003Ent Architecture \n148\nManaged Code versus Unmanaged Code \n150\nInteroperability with Managed Code \n152\nSystem Namespace \n153\nFile I\u002FO \n155\nDrawing \n156\nPrinting \n157\nCommon Type System \n158\nType Casting \n160\nGarbage Collection \n163\nObject Allocation\u002FDeallocation \n164\nClose\u002FDispose \n165\nSummary \n166\nSolutions Fast Track \n167\nFrequently Asked Questions\n168\nDeveloping &\nDeploying…\nEmbrace Your\nParameters\nVB.\u003Cem\u003ENE\u003C\u002Fem\u003ET is insistent upon\nenclosing parameters of\nfunction calls within\nparentheses regardless of\nwhether we are returning\na value or whether we are\nusing the Call statement.\nIt makes the code much\nmore readable and is a\n\u003Cem\u003Ene\u003C\u002Fem\u003Ew standard for VB\nprogrammers that is\nconsistent with the\nstandard that \u003Cem\u003Ene\u003C\u002Fem\u003Early all\nother languages adopted\nlong ago.\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:12 PM Page xvii\nxviii\nContents\nChapter 5 .\u003Cem\u003ENE\u003C\u002Fem\u003ET Programming \nFundamentals \n171\nIntroduction \n172\nVariables \n173\nConstants \n175\nStructures \n176\nProgram Flow Control \n178\nIf…Then…Else \n178\nSelect Case \n182\nWhile Loops \n184\nFor Loops \n186\nArrays \n187\nDeclaring an Array \n188\nMultidimensional Arrays \n189\nDynamic Arrays \n191\nFunctions \n192\nObject Oriented Programming \n196\nInheritance \n196\nPolymorphism \n197\nEncapsulation \n197\nClasses \n198\nAdding Properties \n198\nAdding Methods \n200\nSystem.Object \n201\nConstructors \n201\nOverloading \n202\nOverriding \n203\nShared Members \n205\nString Handling \n206\nError Handling \n210\nSummary \n213\nSolutions Fast Track \n214\nFrequently Asked Questions\n217\nNOTE\nWhen porting Visual\nBasic applications to\nVisual Basic .\u003Cem\u003ENE\u003C\u002Fem\u003ET, be\ncareful of the lower\nbounds of arrays. If\nyou are using a for\nloop to iterate\nthrough the array,\nand it is hard-coded\nto initialize the\ncounter at 1, the first\nelement will be\nskipped. Remember\nthat all arrays start\nwith the index of 0.\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:12 PM Page xviii\nContents\nxix\nChapter 6 Advanced Programming \nConcepts \n219\nIntroduction \n220\nUsing Modules \n221\nUtilizing Namespaces \n222\nCreating Namespaces \n222\nUnderstanding the Imports Keyword \n226\nImplementing Interfaces \n229\nDelegates and Events \n232\nSimple Delegates \n235\nMulticast Delegates \n236\nEvent Programming \n236\nHandles Keyword \n236\nLanguage Interoperability \n237\nFile Operations \n239\nDirectory Listing \n239\nData Files \n241\nText Files \n243\nAppending to Files \n246\nCollections \n246\nThe Drawing Namespace \n248\nImages \n253\nPrinting \n256\nUnderstanding Free Threading \n262\nSyncLock \n263\nSummary \n265\nSolutions Fast Track \n265\nFrequently Asked Questions\n267\nChapter 7 Creating Windows Forms \n269\nIntroduction \n270\nApplication Model \n270\nProperties \n271\nManipulating Windows Forms \n275\nProperties of Windows Forms \n275\nMethods of Windows Forms \n276\nCreating Windows Forms \n287\nWhat Are Collections?\nCollectionsare groups of\nlike objects. Collections\nare similar to arrays, but\nthey don’t have to be\nredimensio\u003Cem\u003Ene\u003C\u002Fem\u003Ed. You can\nuse the Addmethod to\nadd objects to a\ncollection. Collections take\na little more code to\ncreate than arrays do, and\nsometimes accessing a\ncollection can be a bit\nslower than an array, but\nthey offer significant\nadvantages because a\ncollection is a group of\nobjects whereby an array\nis a data type.\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:12 PM Page xix\nxx\nContents\nDisplaying Modal Forms \n288\nDisplaying Modeless Forms \n289\nDisplaying Top-Most Forms \n289\nChanging the Borders of a Form \n289\nResizing Forms \n291\nSetting Location of Forms \n292\nForm Events \n294\nCreating Multiple \u003Cem\u003EDocument\u003C\u002Fem\u003E Interface\nApplications \n297\nCreating an MDI Parent Form \n297\nCreating MDI Child Forms \n298\nExercise 7.1 Creating an MDI\nChild Form \n298\nDetermining the Active MDI\nChild Form \n299\nArranging MDI Child Forms \n299\nAdding Controls to Forms \n300\nAnchoring Controls on Forms \n301\nDocking Controls on Forms \n303\nLayering Objects on Forms \n304\nPositioning Controls on Forms \n304\nDialog Boxes \n305\nDisplaying Message Boxes \n306\nCommon Dialog Boxes \n306\nThe OpenFileDialog Control \n306\nThe SaveFileDialog Control \n309\nThe FontDialog Control \n311\nThe ColorDialog Control \n313\nThe PrintDialog Control \n315\nThe PrintPreviewDialog Control \n316\nThe PageSetupDialog Control \n321\nCreating Dialog Boxes \n322\nCreating and Working with Menus \n323\nAdding Menus to a Form \n323\nExercise 7.2 Adding a Menu to a Form\nat Design Time \n323\nCreating Dialog Boxes\n1.Create a form.\n2.Set the BorderStyle\nproperty of the form to\nFixedDialog.\n3.Set the ControlBox,\nMinimizeBox, and\nMaximizeBox\nproperties of the form\nto False.\n4.Customize the\nappearance of the\nform appropriately.\n5.Customize event\nhandlers in the Code\nwindow appropriately.\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:12 PM Page xx\nContents\nxxi\nDynamically Creating Menus \n326\nExercise 7.3 Adding a Menu to a Form\nat Design Time \n326\nAdding Status Bars to Forms \n328\nAdding Toolbars to Forms \n330\nData Binding \n332\nSimple Data Binding \n332\nComplex Data Binding \n333\nData Sources for Data Binding \n333\nUsing the Data Form Wizard \n334\nUsing the Windows Forms Class Viewer \n338\nUsing the Windows Forms ActiveX Control\nImporter \n338\nSummary \n340\nSolutions Fast Track \n340\nFrequently Asked Questions\n344\nChapter 8 Windows Forms \nCompo\u003Cem\u003Ene\u003C\u002Fem\u003Ents and Controls \n347\nIntroduction \n348\nBuilt-In Controls \n348\nLabel Control \n351\nLinkLabel Control \n354\nTextBox Control \n357\nButton Control \n361\nCheckBox Control \n364\nRadioButton Control \n365\nRichTextBox Control \n367\nTreeView Control \n369\nListBox Control \n371\nCheckedListBox Control \n374\nListView Control \n376\nComboBox Control \n381\nDomainUpDown Control \n384\nNumericUpDown Control \n386\nPictureBox Control \n388\nTrackBar Control \n389\nAdding Items to \na Combo Box at\nDesign-Time\n1.Select the ComboBox\ncontrol on the form.\n2.If \u003Cem\u003Ene\u003C\u002Fem\u003Ecessary, use the\nViewmenu to open\nthe Properties\nwindow.\n3.In the Properties\nwindow, click the\nItemsproperty, then\nclick the ellipsis.\n4.In String Collection\nEditor, type the first\nitem, then press Enter.\n5.Type the \u003Cem\u003Ene\u003C\u002Fem\u003Ext items,\npressing Enterafter\neach item.\n6.Click OK.\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:13 PM Page xxi\nxxii\nContents\nDateTimePicker Control \n391\nPa\u003Cem\u003Ene\u003C\u002Fem\u003El Control \n394\nGroupBox Control \n396\nTabControl Control \n397\nCreating Custom Windows Compo\u003Cem\u003Ene\u003C\u002Fem\u003Ents \n399\nExercise 8.1:Creating a Custom \nWindows Compo\u003Cem\u003Ene\u003C\u002Fem\u003Ent \n399\nCreating Custom Windows Controls \n403\nExercise 8.2:Creating a Custom\nWindows Control \n404\nSummary \n407\nSolutions Fast Track \n407\nFrequently Asked Questions\n408\nChapter 9 Using ADO.\u003Cem\u003ENE\u003C\u002Fem\u003ET \n409\nIntroduction \n410\nOverview of XML \n411\nXML \u003Cem\u003EDocument\u003C\u002Fem\u003Es \n411\nXSL \n411\nXDR \n412\nXPath \n412\nUnderstanding ADO.\u003Cem\u003ENE\u003C\u002Fem\u003ET Architecture \n412\nDifferences between ADO and ADO.\u003Cem\u003ENE\u003C\u002Fem\u003ET \n414\nXML Support \n414\nADO.\u003Cem\u003ENE\u003C\u002Fem\u003ET Configuration \n415\nRemoting in ADO.\u003Cem\u003ENE\u003C\u002Fem\u003ET \n415\nMaintaining State \n415\nUsing the XML Schema Definition Tool \n416\nCon\u003Cem\u003Ene\u003C\u002Fem\u003Ected Layer \n417\nDataProviders \n418\nCon\u003Cem\u003Ene\u003C\u002Fem\u003Ection Strings \n418\nExercise 9.1 Creating a Con\u003Cem\u003Ene\u003C\u002Fem\u003Ection\nString \n419\nCommand Objects \n421\nDataReader \n425\nDataSet \n426\nXML \u003Cem\u003EDocument\u003C\u002Fem\u003Es\nXML \u003Cem\u003Edocument\u003C\u002Fem\u003Es are the\nheart of the XML\nstandard. An XML\n\u003Cem\u003Edocument\u003C\u002Fem\u003E has at least o\u003Cem\u003Ene\u003C\u002Fem\u003E\nelement that is delimited\nwith o\u003Cem\u003Ene\u003C\u002Fem\u003E start tag and o\u003Cem\u003Ene\u003C\u002Fem\u003E\nend tag. XML \u003Cem\u003Edocument\u003C\u002Fem\u003Es\nare similar to HTML,\nexcept that the \u003Cem\u003Etags\u003C\u002Fem\u003E are\nmade up by the author.\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:13 PM Page xxii\nContents\nxxiii\nDiscon\u003Cem\u003Ene\u003C\u002Fem\u003Ected Layer \n427\nUsing DataSet \n428\nRelational Schema \n428\nCollection of Tables \n430\nData States \n431\nPopulating with the DataSet Command \n432\nPopulating with XML \n433\nPopulating Programmatically \n434\nUsing the SQL Server Data Provider \n435\nTDS \n436\nExercise 9.2 Using TypedDataSet \n437\nRemoting \n439\nData Controls \n440\nDataGrid \n440\nExercise 9.3 Using TypedDataSet and\nDataRelation \n441\nDataList \n446\nRepeater \n450\nSummary \n454\nSolutions Fast Track \n454\nFrequently Asked Questions\n457\nChapter 10 Developing Web Applications 459\nIntroduction \n460\nWeb Forms \n461\nA Simple Web Form \n462\nExercise 10.1 Creating a Simple\nWeb Form \n462\nHow Web Forms Differ from Windows\nForms \n464\nWhy Web Forms Are Better Than\nClassic ASP \n465\nAdding Controls to Web Forms \n467\nExercise 10.2 Adding Web Controls to\na Web Form \n468\nCode Behind \n473\nNOTE\nWeb form controls\nnot only detect\nbrowsers such as\nInter\u003Cem\u003Ene\u003C\u002Fem\u003Et Explorer and\n\u003Cem\u003ENe\u003C\u002Fem\u003E\u003Cem\u003Etsc\u003C\u002Fem\u003E\u003Cem\u003Eape\u003C\u002Fem\u003E, but they\nalso detect devices\nsuch as Palm Pilots\nand cell pho\u003Cem\u003Ene\u003C\u002Fem\u003Es and\nge\u003Cem\u003Ene\u003C\u002Fem\u003Erate appropriate\nHTML accordingly.\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:13 PM Page xxiii\nxxiv\nContents\nHow Web Form Controls Differ from\nWindows Form Controls \n476\nASP.\u003Cem\u003ENE\u003C\u002Fem\u003ET Server Controls \n476\nIntrinsic Controls \n476\nBound Controls \n478\nExercise 10.3 Using the DataGrid\nControl \n478\nExercise 10.4 Customizing DataGrid\nControl \n482\nCustom Controls \n487\nValidation Controls \n488\nExercise 10.5 Using the Validation\nControls \n489\nCreating Custom Web Form Controls \n492\nExercise 10.6 A Simple Custom Control \n493\nExercise 10.7 Creating a Composite \nCustom Control \n497\nWeb Services \n504\nHow Web Services Work \n505\nDeveloping Web Services \n505\nExercise 10.8 Developing Web Services \n507\nWeb Service Utilities \n509\nService Description Language \n509\nDiscovery \n510\nProxy Class \n510\nConsuming Web Services from Web Forms \n511\nExercise 10.9 Consuming Web Services\nfrom Web Forms \n511\nUsing Windows Forms in \nDistributed Applications \n513\nExercise 10.10 Consuming Web Services\nfrom Windows Forms \n514\nExercise 10.11 Developing a Sample\nApplication \n516\nSummary \n519\nSolutions Fast Track \n519\nFrequently Asked Questions\n521\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:13 PM Page xxiv\nContents\nxxv\nChapter 11 Optimizing, Debugging, \nand Testing \n523\nIntroduction \n524\nDebugging Concepts \n524\nDebug Menu \n528\nWatches \n529\nBreakpoints \n531\nExceptions Window \n532\nCommand Window \n534\nConditional Compilation \n536\nTrace \n538\nAssertions \n540\nCode Optimization \n541\nFinalization \n542\nTransitions \n542\nParameter Passing Methods \n542\nStrings \n543\nGarbage Collection \n544\nCompiler Options \n544\nOptimization Options \n544\nOutput File Options \n544\n.\u003Cem\u003ENE\u003C\u002Fem\u003ET Assembly Options \n545\nPreprocessor Options \n546\nMiscella\u003Cem\u003Ene\u003C\u002Fem\u003Eous Options \n546\nTesting Phases and Strategies \n546\nUnit Testing \n547\nIntegration Testing \n547\nBeta Testing \n547\nRegression Testing \n548\nStress Testing \n548\nMonitoring Performance \n548\nSummary \n550\nSolutions Fast Track \n551\nFrequently Asked Questions\n552\nWhat Are Watches?\nWatchesprovide us with a\nmechanism where we can\ninteract with the actual\ndata that is stored in our\nprograms at runtime. They\nallow us to see the values\nof variables and the values\nof properties on objects.\nIn addition to being able\nto view these values, you\ncan also assign \u003Cem\u003Ene\u003C\u002Fem\u003Ew\nvalues.\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:13 PM Page xxv\nxxvi\nContents\nChapter 12 Security \n553\nIntroduction \n554\nSecurity Concepts \n555\nPermissions \n555\nPrincipal \n556\nAuthentication \n557\nAuthorization \n557\nSecurity Policy \n558\nType Safety \n558\nCode Access Security \n558\n.\u003Cem\u003ENE\u003C\u002Fem\u003ET Code Access Security Model \n559\nStack Walking \n559\nCode Identity \n561\nCode Groups \n562\nDeclarative and Imperative Security \n564\nRequesting Permissions \n565\nDemanding Permissions \n570\nOverriding Security Checks \n572\nCustom Permissions \n576\nRole-Based Security \n578\nPrincipals \n578\nWindowsPrincipal \n579\nGe\u003Cem\u003Ene\u003C\u002Fem\u003EricPrincipal \n580\nManipulating Identity \n581\nRole-Based Security Checks \n583\nSecurity Policies \n585\nCreating a \u003Cem\u003ENe\u003C\u002Fem\u003Ew Permission Set \n588\nModifying the Code Group Structure \n593\nRemoting Security \n600\nCryptography \n600\nSecurity Tools \n603\nSummary \n606\nSolutions Fast Track \n607\nFrequently Asked Questions\n611\nWithin the .\u003Cem\u003ENE\u003C\u002Fem\u003ET\nFramework, Three\nNamespaces Involve\nCryptography\n1.System.Security\n.CryptographyThe\nmost important o\u003Cem\u003Ene\u003C\u002Fem\u003E;\nresembles the\nCryptoAPI\nfunctionalities.\n2.System.Security\n.Cryptography.X509\ncertificatesRelates\nonly to the X509 v3\ncertificate used with\nAuthenticode.\n3.System.Security\n.Cryptography.XmlFor\nexclusive use within\nthe .\u003Cem\u003ENE\u003C\u002Fem\u003ET Framework\nsecurity system.\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:13 PM Page xxvi\nContents\nxxvii\nChapter 13 Application Deployment \n615\nIntroduction \n616\nPackaging Code \n617\nConfiguring the .\u003Cem\u003ENE\u003C\u002Fem\u003ET Framework \n622\nCreating Configuration Files \n622\nMachi\u003Cem\u003Ene\u003C\u002Fem\u003E\u002FAdministrator Configuration Files \n623\nApplication Configuration Files \n625\nSecurity Configuration Files \n626\nDeploying the Application \n629\nCommon Language Runtime \n629\nWindows Installer \n630\nCAB Files \n631\nInter\u003Cem\u003Ene\u003C\u002Fem\u003Et Explorer 5.5 \n632\nResource Files \n633\nDeploying Controls \n637\nSummary \n639\nSolutions Fast Track \n640\nFrequently Asked Questions\n642\nChapter 14 Upgrading Visual Basic \nApplications to .\u003Cem\u003ENE\u003C\u002Fem\u003ET \n647\nIntroduction \n648\nConsiderations Before Upgrading \n648\nEarly Binding of Variables \n649\nAvoiding Null Propagation \n650\nUsing ADO \n651\nUsing Date Data Type \n652\nUsing Constants \n652\nConsidering Architecture Before Migration \n653\nIntra\u003Cem\u003Ene\u003C\u002Fem\u003Et\u002FInter\u003Cem\u003Ene\u003C\u002Fem\u003Et Applications \n653\nInter\u003Cem\u003Ene\u003C\u002Fem\u003Et Information Server (IIS)\nApplications \n654\nDHTML Applications \n655\nActiveX \u003Cem\u003EDocument\u003C\u002Fem\u003Es \n655\nClient\u002FServer and Multi-Tier Applications \n655\nSingle-Tier Applications \n656\nData Access Applications \n656\nWARNING\nYou should under no\ncircumstance edit the\nSecurity.config and\nEnterprise.config files\ndirectly. It is very\neasy to compromise\nthe integrity of these\nfiles. Always use the\nCode Access Security\nPolicy utility\n(caspol.exe) or the\n.\u003Cem\u003ENE\u003C\u002Fem\u003ET Configuration\ntool; these will guard\nthe integrity of the\nfiles and will also\nmake a backup \ncopy of the last\nsaved version.\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:13 PM Page xxvii\nxxviii\nContents\nData Types \n657\nVariants \n657\nIntegers \n658\nDates \n658\nBoolean \n659\nArrays \n659\nFixed-Length Strings \n660\nWindows API Data Types \n661\nConverting VB Forms to Windows Forms \n662\nControl Anchoring \n664\nKeyword Changes \n665\nGoto \n666\nGoSub \n666\nOption Base \n666\nAND\u002FOR \n666\nLset \n666\nVarPtr \n667\nStrPtr \n667\nDef \n667\nProgramming Differences \n668\nMethod Implementation \n668\nOptional Parameters \n668\nStatic Modifier \n669\nReturn Statement \n669\nProcedure Calls \n670\nExternal Procedure Declaration \n671\nPassing Parameters \n672\nParamArray \n672\nOverloading \n674\nReferences to Unmanaged Libraries \n677\nMetadata \n679\nRuntime Callable Wrapper \n681\nCOM Callable Wrapper \n682\nProperties \n684\nWorking with Property Procedures \n684\nControl Property Name Changes \n685\nDefault Property \n687\nAvoiding Null\nPropagation\nNullpropagation means\nthat if Null is used in an\nexpression, the resulting\nexpression is always Null.\nIn previous versions of\nVisual Basic, the Null value\ndisseminated throughout\nthe expression. \n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:13 PM Page xxviii\nContents\nxxix\nNull Usage \n690\nUnderstanding Error Handling \n690\nExercise 14.1:Using Error Handling \n692\nData Access Changes in Visual Basic .\u003Cem\u003ENE\u003C\u002Fem\u003ET \n693\nDataset and Recordset \n694\nApplication Interoperability \n694\nCursor Location \n695\nDiscon\u003Cem\u003Ene\u003C\u002Fem\u003Ected Access \n695\nData Navigation \n695\nLock Implementation \n696\nUpgrading Interfaces \n696\nUpgrading Interfaces from Visual Basic 6.0 \n699\nUsing the Upgrade Tool \n703\nExercise 14.2 Using the Upgrade Wizard 703\nSummary \n708\nSolutions Fast Track \n709\nFrequently Asked Questions\n712\nIndex\n713\nContents\nxiii\nFrom the Series Editor\nxxxi\nChapter 1 \u003Cem\u003ENe\u003C\u002Fem\u003Ew Features in Visual Basic .\u003Cem\u003ENE\u003C\u002Fem\u003ET 1\nIntroduction \n2\nExamining the \u003Cem\u003ENe\u003C\u002Fem\u003Ew IDE \n3\nCosmetic Improvements \n3\nDevelopment Accelerators \n5\n.\u003Cem\u003ENE\u003C\u002Fem\u003ET Framework \n6\nA Very Brief and Simplified History \n6\n.\u003Cem\u003ENE\u003C\u002Fem\u003ET Architecture \n7\nASP.\u003Cem\u003ENE\u003C\u002Fem\u003ET \n7\nFramework Classes \n8\n.\u003Cem\u003ENE\u003C\u002Fem\u003ET Servers \n8\nCommon Language Runtime \n8\nHistory \n8\nConvergence \n9\nObject-Oriented Language \n10\nObject-Oriented Concepts \n10\nAdvantages of Object-Oriented Design \n11\nHistory of Object Orientation and VB \n13\nNamespaces \n13\nWeb Applications \n13\nWeb Applications Overview \n13\nWeb Forms \n14\nWeb Services \n15\nHyperText Transport Protocol \n16\nSimple Object Access Protocol \n17\n.\u003Cem\u003ENE\u003C\u002Fem\u003ET Architecture\n.\u003Cem\u003ENE\u003C\u002Fem\u003ET Framework\nASP.\u003Cem\u003ENE\u003C\u002Fem\u003ET\nUpdated ASP Engi\u003Cem\u003Ene\u003C\u002Fem\u003E \nWeb Forms Engi\u003Cem\u003Ene\u003C\u002Fem\u003E\nFramework Classes\nSystem.Math, System.Io, System.Data, Etc. \nCommon Language Runtime\nMemory Management \nCommon Type System \nGarbage Collection \n.\u003Cem\u003ENE\u003C\u002Fem\u003ET\n.\u003Cem\u003ENE\u003C\u002Fem\u003ET Servers\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:12 PM Page xiii\nxiv\nContents\nSecurity \n17\nType Safety \n18\nCasting \n18\nData Conversion \n19\nBitwise Operations \n20\n\u003Cem\u003ENe\u003C\u002Fem\u003Ew Compiler \n20\nCompiling an Executable \n20\nArchitecture \n21\nFile Management in Previous Versions of VB \n21\nFile Management \n22\nChanges from Visual Basic 6.0 \n23\nVariants \n23\nVariable Lower Bounds \n23\nFixed Length Strings \n23\nNULL Propagation \n23\nOther Items Removed \n24\nFunction Values \n24\nShort Circuits \n25\nProperties and Variables \n25\nVariable Lengths \n25\nGet and Set \n26\nDate Type \n26\nDefault Properties \n27\nSummary \n28\nSolutions Fast Track \n28\nFrequently Asked Questions\n31\nChapter 2 The Microsoft .\u003Cem\u003ENE\u003C\u002Fem\u003ET Framework \n33\nIntroduction \n34\nWhat Is the .\u003Cem\u003ENE\u003C\u002Fem\u003ET Framework? \n34\nIntroduction to the Common Language Runtime\n35\nUsing .\u003Cem\u003ENE\u003C\u002Fem\u003ET-Compliant Programming Languages\n37\nCreating Assemblies \n39\nUsing the Manifest \n42\nCompiling Assemblies \n45\nAssembly Cache \n45\nLocating an Assembly \n45\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:12 PM Page xiv\nContents\nxv\nPrivate Assembly Files \n51\nShared Assembly Files \n51\nUnderstanding Metadata \n51\nThe Be\u003Cem\u003Ene\u003C\u002Fem\u003Efits of Metadata \n52\nIdentifying an Assembly with Metadata \n53\nTypes \n53\nDefining Members \n54\nUsing Contracts \n54\nAssembly Dependencies \n55\nUnmanaged Assembly Code \n55\nReflection \n56\nAttributes \n57\nEnding DLL Hell \n58\nSide-by-Side Deployment \n58\nVersioning Support \n59\nUsing System Services \n60\nException Handling \n60\nStackTrace \n61\nIn\u003Cem\u003Ene\u003C\u002Fem\u003ErException \n61\nMessage \n61\nHelpLink \n62\nGarbage Collection \n62\nConsole I\u002FO \n62\nMicrosoft Intermediate Language \n63\nThe Just-In-Time Compiler \n63\nUsing the Namespace System to Organize Classes\n64\nThe Common Type System \n65\nType Safety \n68\nRelying on Automatic Resource Management\n68\nThe Managed Heap \n69\nGarbage Collection and the Managed Heap \n71\nAssigning Ge\u003Cem\u003Ene\u003C\u002Fem\u003Erations \n77\nUtilizing Weak References \n77\nSecurity Services \n79\nFramework Security \n80\nGranting Permissions \n81\nNOTE\nVisualization is still\nkey! Die-hard VB \nprogrammers may\nfind themselves\nhaving a hard time\nvisualizing all the\n\u003Cem\u003Ene\u003C\u002Fem\u003Ew concepts in\nVB.\u003Cem\u003ENE\u003C\u002Fem\u003ET (and we all\nknow that proper\nlogic visualization\nplays a big role in\nwhat we do).\nSomething that may\nhelp is to think \nabout VB.\u003Cem\u003ENE\u003C\u002Fem\u003ET as a\ncompletely flexible\nlanguage that can\naccommodate Web,\nconsole, and \ndesktop use. \n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:12 PM Page xv\nxvi\nContents\nGaining Representation through\na Principal \n82\nSecurity Policy \n83\nSummary \n85\nSolutions Fast Track \n85\nFrequently Asked Questions\n88\nChapter 3 Installing and Configuring \nVB.\u003Cem\u003ENE\u003C\u002Fem\u003ET \n91\nIntroduction \n92\nEditions \n92\nInstalling Visual Studio .\u003Cem\u003ENE\u003C\u002Fem\u003ET \n93\nExercise 3.1:Installing Visual Studio .\u003Cem\u003ENE\u003C\u002Fem\u003ET 94\nInstalling on Windows 2000 \n99\nThe \u003Cem\u003ENe\u003C\u002Fem\u003Ew IDE \n100\nIntegrated Development Environment\nAutomation Model \n100\nAdd-Ins \n104\nExercise 3.2 Creating an Add-In Using\nthe Add-In Wizard \n105\nWizards \n109\nMacros \n109\nHome Page \n110\nProject Options \n112\nToolbox \n116\nChild Windows \n120\nWindow Types \n122\nArranging Windows \n123\nTask List \n123\nExercise 3.3 Setting Up a Custom Token 124\nTaskList Views \n124\nLocating Code \n126\nAnnotating Code \n126\nSolution Explorer \n127\nProperties Window \n129\nForm Layout Toolbar \n130\nHide\u002FShow Code Elements \n132\nInstalling Visual\nStudio .\u003Cem\u003ENE\u003C\u002Fem\u003ET\nIPhase 1: Installing\nWindows compo\u003Cem\u003Ene\u003C\u002Fem\u003Ents\nIPhase 2: Installing\nVisual Studio .\u003Cem\u003ENE\u003C\u002Fem\u003ET\nIPhase 3: Checking for\nservice releases\n153_VB\u003Cem\u003Ene\u003C\u002Fem\u003Et_TOC 8\u002F16\u002F01 1:12 PM Page xvi","createTime":"2019-08-15 09:46:00","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-11554190-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-11554190-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fdrjiachen\u002F11554190\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-11554190-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1713579272571_66990\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fdrjiachen\u002F11554190\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-11554190-bbs-50023617.264^v3^pc_relevant_bbs_down_v2_opensearchbbsnew\\\",\\\"dist_request_id\\\":\\\"1713579272571_66990\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"}],"staffDOList":[{"id":null,"communityId":209,"username":"community_91","userNickname":"JavaScript","roleCode":1,"status":1,"createUsername":"","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","createTime":"2021-05-12 18:07:03","updateTime":"2021-05-12 18:07:03","lastLoginTime":"2021-05-12 18:07:03"},{"id":null,"communityId":209,"username":"sysdzw","userNickname":"无·法","roleCode":2,"status":1,"createUsername":"community_91","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F45dcec50fd694b578374e7167ff7914a_sysdzw.jpg!1","createTime":"2021-06-16 17:59:42","updateTime":"2021-06-16 17:59:42","lastLoginTime":"2021-06-16 17:59:42"}],"communityConfig":{"scoreType":0,"scoreItems":{"0":"给本帖投票","1":"锋芒小试,眼前一亮","2":"潜力巨大,未来可期","3":"持续贡献,值得关注","4":"成绩优异,大力学习","5":"贡献巨大,全力支持"}},"shouldApply":false,"subscribeAble":false,"operatorAble":false,"commentNeedJoinCommunity":false},"default2014LiveRoom":[{"itemType":"","description":"高峰论坛","title":"2022 技术英雄会","url":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fiframe\u002Fcsdnnews\u002FfsNR5NWp?chat=1&title=1&footer=1","images":["https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221016050009.png"],"ext":{"time":"9:00","liveRoomUrl":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fcsdnnews\u002FfsNR5NWp"}}]},"isGooglebot":false,"canonical":"https:\u002F\u002Fwww.csdn.net\u002Ftopics\u002F50023617","openUrl":"","isApp":false,"localUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F50023617","typeId":"index","hasIndex":false},"CFG":{"ALIPLAYER_VERSION":"v4","ALIPLAYER_H5_VERSION":"mobile_v1","ENV":"prod","ROOT_URL":"https:\u002F\u002Fcms-mall.csdn.net\u002F","VUE_APP_API_URL_SERVER":"http:\u002F\u002Fcms-community-api.internal.csdn.net\u002F","VUE_APP_API_URL":"https:\u002F\u002Fcms-api.csdn.net\u002F","LOGIN_URL":"https:\u002F\u002Fpassport.csdn.net\u002Faccount\u002Flogin","VUE_APP_DOMAIN_SKILL":"https:\u002F\u002Fedu.csdn.net\u002F","VUE_APP_DOMAIN_PATH":"https:\u002F\u002Fedu.csdn.net\u002F","VUE_APP_COMMUNITY_API_URL":"https:\u002F\u002Fcommunity-api.csdn.net\u002F","VUE_APP_CCLOUD_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fcommunity-cloud\u002Fv1\u002F","VUE_APP_SKILL_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fskilltree\u002Fapi\u002F","VUE_APP_SEARCH_PLUGIN_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fsearchplugin\u002F","VUE_APP_COMMUNITY_ASK_API_URL":"https:\u002F\u002Fmp-ask.csdn.net\u002F","VUE_APP_ME_URL":"https:\u002F\u002Fme.csdn.net\u002F","VUE_APP_CCLOUD_RESUME":"https:\u002F\u002Fbizapi.csdn.net\u002Fjob-api\u002F","VUE_APP_CCLOUD_MAIN":"https:\u002F\u002Fwww.csdn.net\u002F","VUE_APP_CCLOUD_UC":"https:\u002F\u002Fwww.csdn.net\u002F","VUE_APP_CCLOUD_BZP_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002F","VUE_APP_CCLOUD_START_API_URL":"https:\u002F\u002Fmp-action.csdn.net\u002F","VUE_APP_PRACTIVE":"https:\u002F\u002Fbizapi.csdn.net\u002Fdaily-practice\u002F","VUE_APP_CCLOUD_HOSTPATH":"https:\u002F\u002Fbbs.csdn.net\u002F"},"queries":{"pageId":[],"domain":["ccloud.csdn.net\u002Fccloud\u002Fdetail1"],"id":["50023617"],"deviceType":"pc","isSpider":"","hostname":["bbs.csdn.net"]},"basePath":"bbs.csdn.net\u002Fccloud\u002Ftopics\u002F50023617","hrefUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F50023617","active":0,"navBarFixed":false,"title":"关于在netscape中document获取tags的方法","isLive":false,"contentType":{"text":"text","picture":"picture","link":"link","video":"video","vote":"vote","live":"live","blog":"blog","long_text":"long_text","task_text":"task_text"},"liveUrl":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fiframe\u002F","spmExtra":{"id":209,"topicId":50023617},"keywords":"","description":"以下内容是CSDN社区关于关于在netscape中document获取tags的方法相关内容,如果想了解更多关于JavaScript社区其他内容,请访问CSDN社区。"};</script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/runtime.3e5c09eb.js"></script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/chunk/common.7672e502.js"></script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/chunk/tpl/ccloud-detail/index.243a94d0.js"></script></body> <!----> <script> window.csdn.sideToolbar = { options: { qr: { isShow: true, data: [ { imgSrc: 'https://csdnimg.cn/release/cmsfe/public/img/ewm.9010d6e5.png', desc: "关注公众号" }, ] }, help: { isShow: false, }, contentEl: document.getElementsByClassName("cloud-maintainer")[0] }, }; </script> <script src="https://g.csdnimg.cn/side-toolbar/2.9/side-toolbar.js" ></script> <!----> <!----> <!----> <script src="https://csdnimg.cn/release/blog_editor_html/release1.7.5/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js"></script> <script src="https://g.csdnimg.cn/lib/editor-page-detail/v2.2.0/js/runDetail.min.js"></script> <!----> <!----> <!----> <!----> <!----> <!----> <script src="https://g.csdnimg.cn/collection-box/2.1.0/collection-box.js"></script> <!----> <!----> <!----> <!----> <script src="https://g.csdnimg.cn/common/csdn-cert/csdn-cert.js"></script> <!----></html>