100165385.htm
来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 172 行 · 第 1/3 页
HTM
172 行
<p class="a3" style="MARGIN-TOP: 8.15pt; FTEL: 21.45pt"><span style="COLOR: black; FONT-FAMILY: 黑体">注意:</span></p>
<p class="a1" style="FTEL: 21.45pt"><span style="COLOR: black; FONT-FAMILY: 楷体_GB2312">属性窗口也可以显示事件。单击窗口顶部的闪电图标,就可以查看</span><span lang="EN-US" style="COLOR: black">IDE</span><span style="COLOR: black; FONT-FAMILY: 楷体_GB2312">中当前选中的事件,或者查看在属性窗口的下拉列表中选择的事件。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">在属性窗口的顶部,有一个列表框,从中可以选择要查看的控件。我们选择的是</span><span lang="EN-US">Form1</span><span style="FONT-FAMILY: 宋体">,即</span><span lang="EN-US">BasicForm</span><span style="FONT-FAMILY: 宋体">项目的主窗体类,把其文本编辑为</span><span lang="EN-US">Basic Form-Hello!</span><span style="FONT-FAMILY: 宋体">。如果此时查看源代码,就会看到刚才的操作实际上是通过一个友好的用户界面编辑了源代码:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US"> this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> this.ClientSize = new System.Drawing.Size(292, 268);</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> this.Controls.AddRange(new System.Windows.Forms.Control[] {this.textBox1});</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> this.Name = "Form1";</span></p>
<p class="2" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US"> this.Text = "Basic Form - Hello!";</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">并不是属性窗口中的所有属性都会在源代码中显式指定。对于没有显式指定的属性,</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">会显示在创建窗体时给它们设置的默认值,这些默认值是在初始化窗体时设置的。显然,<span style="LETTER-SPACING: 0.1pt">如果在属性窗口中修改这些属性的值,源代码中就会出现一个显式设置该属性的语句,反之亦然。有趣的是,如果属性是从其初始值改变而来,这个属性在属性窗口中就会显示为黑体。有时双击属性窗口中的属性,会返回其初始值。</span></span></p>
<p class="MsoToc1"><span style="FONT-FAMILY: 宋体">属性窗口提供了一种查看控件或窗口的外观和属性的简便方式。</span></p>
<p class="a3" style="MARGIN-TOP: 8.15pt; FTEL: 21.45pt"><span style="FONT-FAMILY: 黑体">注意:</span></p>
<p class="a1" style="FTEL: 21.45pt"><span style="COLOR: black; FONT-FAMILY: 楷体_GB2312">属性窗口实现为一个</span><span class="codeintext-PRODUCTION"><span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'">System.Windows.Forms.PropertyGrid</span></span><span class="codeintext-PRODUCTION"><span style="FONT-FAMILY: 楷体_GB2312">实例,该实例在内部使用第</span></span><span class="codeintext-PRODUCTION"><span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'">10</span></span><span class="codeintext-PRODUCTION"><span style="FONT-FAMILY: 楷体_GB2312">章介绍的反射技术,来标识要显示的属性和属性值。</span></span></p>
<p class="MsoNormal"><span lang="EN-US">(3) </span><span style="FONT-FAMILY: 宋体">类视图窗口</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">与属性窗口不同,类视图窗口最初是从</span><span lang="EN-US">C++(</span><span style="FONT-FAMILY: 宋体">或</span><span lang="EN-US">J++)</span><span style="FONT-FAMILY: 宋体">开发环境继承而来的一个窗口,如图</span><span lang="EN-US">12-18</span><span style="FONT-FAMILY: 宋体">所示。它对于</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 宋体">开发人员来说是新的,因为</span><span lang="EN-US">VB6</span><span style="FONT-FAMILY: 宋体">不支持类的概念,更不用说</span><span lang="EN-US">COM</span><span style="FONT-FAMILY: 宋体">组件了。</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">实际上并没有把类视图看作是一个窗口,而是</span><span lang="EN-US">Solution Explorer</span><span style="FONT-FAMILY: 宋体">的一个附加选项卡。类视图显示了代码中命名空间和类的层次结构,给出了一个树形视图,用户可以展开该视图,以查看哪个命名空间包含了什么类,哪个类包含了什么成员。</span></p>
<p align="center"><span lang="EN-US"><img height="353" src="12/image018.jpg" width="212" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="FONT-FAMILY: 宋体">图</span><span lang="EN-US"> 12-18</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">类视图的一个特性是,如果右击在源代码中可以访问的任一项目名,上下文菜单就会提供一个选项</span><span lang="EN-US">Go To Definition</span><span style="FONT-FAMILY: 宋体">,单击它,就可以访问代码编辑器中该项目的定义。还可以通过在类视图中双击该项目</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">实际上是在源代码编辑器中右击需要的项目,从得到的上下文菜单中选择相同的选项</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">,完成同样的操作。上下文菜单还允许给类添加字段、方法、属性或索引器。这意味着可以在一个对话框中指定相关成员的信息,开发环境会自动添加对应的代码。这对于字段和方法可能不太有效,因为它们可以快速添加到代码中,但对于属性和索引器来说就非常有用了,因为它可以减少大量的键入工作。</span></p>
<p class="MsoNormal"><span lang="EN-US">(4) </span><span style="FONT-FAMILY: 宋体">对象浏览器</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 17.6pt"><span style="FONT-FAMILY: 宋体">在</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">环境中编程的一个重要优点是可以确定程序集中引用的基类和其他库中有什么方法和其他代码条目。这个功能是通过调用对象浏览器来获得的。在</span><span lang="EN-US">Visual Studio .NET 2003</span><span style="FONT-FAMILY: 宋体">的</span><span lang="EN-US">View</span><span style="FONT-FAMILY: 宋体">菜单中选择</span><span lang="EN-US">Object Brower</span><span style="FONT-FAMILY: 宋体">,就可以访问这个窗口。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 17.6pt"><span style="FONT-FAMILY: 宋体">对象浏览器非常类似于类视图窗口,它也显示一个树形视图,该树形视图给出了应用程序的类结构,允许查看每个类的成员。用户界面则略有不同,因为它在一个单独的窗格中显示类成员,而不是在树形视图中显示。但真正的区别是它不仅可以查看项目中的命名空间和类,还可以查看项目所引用的所有程序集中的命名空间和类。图</span><span lang="EN-US">12-19</span><span style="FONT-FAMILY: 宋体">显示了利用对象浏览器查看</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">基类中的</span><span lang="EN-US">SystemException</span><span style="FONT-FAMILY: 宋体">类的情况。</span></p>
<p align="center"><span lang="EN-US"><img height="401" src="12/image019.jpg" width="514" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="FONT-FAMILY: 宋体">图</span><span lang="EN-US"> 12-19</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 17.6pt"><span style="FONT-FAMILY: 宋体">在对象浏览器中必须注意的一点是,它先按照类所在的程序集对类进行分组,再按照命名空间对类进行分组。因为基类的命名空间常常分布在多个程序集中,所以在定位某个类时可能会遇到麻烦,除非知道该类在哪个程序集中。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 17.6pt"><span style="FONT-FAMILY: 宋体">对象浏览器可以查看</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">对象。如果由于某些原因,要查看已安装的</span><span lang="EN-US">COM</span><span style="FONT-FAMILY: 宋体">对象,就可以使用以前在</span><span lang="EN-US">C++ IDE</span><span style="FONT-FAMILY: 宋体">中使用的</span><span lang="EN-US">OLEView</span><span style="FONT-FAMILY: 宋体">工具,它在</span><span lang="EN-US">Tools</span><span style="FONT-FAMILY: 宋体">菜单</span><span lang="EN-US">(<span class="screentext-PRODUCTION"><span style="FONT-FAMILY: 'Times New Roman'; LETTER-SPACING: 0pt">OLE/COM Object Viewer</span></span></span><span class="screentext-PRODUCTION"><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0pt">菜单项</span></span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">中,还有几个其他类似的工具。</span></p>
<p class="a3" style="MARGIN-TOP: 8.15pt; FTEL: 21.45pt"><span style="FONT-FAMILY: 黑体">注意:</span></p>
<p class="a1" style="FTEL: 21.45pt"><span lang="EN-US">VB</span><span style="FONT-FAMILY: 楷体_GB2312">开发人员不应把</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 楷体_GB2312">对象浏览器和</span><span lang="EN-US">VB6 IDE</span><span style="FONT-FAMILY: 楷体_GB2312">的对象浏览器混为一谈,</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 楷体_GB2312">对象浏览器可以查看</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 楷体_GB2312">类,而</span><span lang="EN-US">VB6</span><span style="FONT-FAMILY: 楷体_GB2312">中的对象浏览器则可以查看</span><span lang="EN-US">COM</span><span style="FONT-FAMILY: 楷体_GB2312">组件。如果要使用旧对象浏览器的功能,现在就应使用</span><span lang="EN-US">OLEView</span><span style="FONT-FAMILY: 楷体_GB2312">工具。</span></p>
<p class="MsoNormal"><span lang="EN-US">(5) </span><span style="FONT-FAMILY: 宋体">服务器浏览器</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">服务器浏览器可以用于确定编码时计算机各个方面的情况,如图</span><span lang="EN-US">12-20</span><span style="FONT-FAMILY: 宋体">所示。</span></p>
<p align="center"><span lang="EN-US"><img height="210" src="12/image020.jpg" width="146" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="FONT-FAMILY: 宋体">图</span><span lang="EN-US"> 12-20</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">从上面的屏幕图中可以看出,可以通过服务器浏览器访问数据库连接、服务信息、</span><span lang="EN-US">Web</span><span style="FONT-FAMILY: 宋体">服务信息和运行进程的信息。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">服务器浏览器与属性窗口链接在一起,所以,如果打开</span><span lang="EN-US">Services</span><span style="FONT-FAMILY: 宋体">节点,单击某个服务,该服务的属性就会显示在属性窗口中。</span></p>
<h4 style="FTEL: 21.45pt"><span lang="EN-US">3. pin</span><span style="FONT-FAMILY: 黑体">按钮</span></h4>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">在浏览</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">时,前面介绍的许多窗口包含一些有趣的功能,很容易让人回想起工具栏的一些功能。除了代码编辑器外,它们都是固定的。另一个比较新的功能是在这些窗口处于浮动状态时,在每个窗口右上角的最小化按钮的旁边就会出现一个像大头针一样的图标,这个图标的工作方式就跟大头针一样,把窗口钉住。在窗口被钉住时</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">大头针垂直显示</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">,它们的操作就像一般的窗口一样。但当它们没有被钉住时,</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">大头针水平显示</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">,只要它们获得焦点,就会打开;而没有焦点时</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">用户单击了其他地方</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">,它们就会无声无息地退到</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">应用程序的主边界上</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">打开和关闭该按钮时,计算机的速度也有快慢变化</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">钉住或不钉住窗口是充分利用屏幕上有限空间的另一种方式。以前在</span><span lang="EN-US">Windows</span><span style="FONT-FAMILY: 宋体">中这个功能用得不多,但在一些第三方应用程序例如</span><span lang="EN-US">PaintShop Pro</span><span style="FONT-FAMILY: 宋体">中就使用了类似的概念。钉住的窗口在许多基于</span><span lang="EN-US">Unix</span><span style="FONT-FAMILY: 宋体">的系统上已经有了一定的应用。</span></p></div>
<!-- page -->
<div class="page" style="text-align: center">
<a href="100165384.htm">上一页</a> <a href="index.html">首页</a> <a href="100165386.htm">下一页</a>
</div>
<div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
<div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
图书导读
</div>
<div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
<!--导读-->
<h1 id="divCurrentNode2" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165385.htm'><font color='red'>12.1.5 项目的浏览和编码</font></a></h1>
<div id="divRealteNod2" style="padding-left: 2px">
<div style='float:left;width:49%'>·<a href='100165382.htm'>12.1.2 解决方案和项目</a></div><div style='float:right;width:49%'>·<a href='100165383.htm'>12.1.3 Windows应用程序代码</a></div><div style='float:left;width:49%'>·<a href='100165384.htm'>12.1.4 读取Visual Studio 6项目</a></div><div style='float:right;width:49%'>·<a href='100165386.htm'>12.1.6 生成项目</a></div><div style='float:left;width:49%'>·<a href='100165387.htm'>12.1.7 调试</a></div><div style='float:right;width:49%'>·<a href='100165388.htm'>12.2 其他.NET工具</a></div></div>
</div>
</div>
</div></div>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?