100165385.htm
来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 172 行 · 第 1/3 页
HTM
172 行
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">代码编辑器会自动检测</span><span lang="EN-US">#region</span><span style="FONT-FAMILY: 宋体">块,通过</span><span lang="EN-US">#region</span><span style="FONT-FAMILY: 宋体">指令放置一个新的减号图标,如图</span><span lang="EN-US">12-13</span><span style="FONT-FAMILY: 宋体">所示,以便关闭该代码区域。把这个代码块放在一个区域中,就可以用在</span><span lang="EN-US">#region</span><span style="FONT-FAMILY: 宋体">指令中指定的注释标记该区域,让编辑器关闭该代码块,如图</span><span lang="EN-US">12-14</span><span style="FONT-FAMILY: 宋体">所示。但编译器会忽略这些指令,按正常情况编译</span><span lang="EN-US">Main()</span><span style="FONT-FAMILY: 宋体">方法。</span></p>
<p align="center"><span lang="EN-US"><img height="253" src="12/image014.jpg" width="353" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="FONT-FAMILY: 宋体">图</span><span lang="EN-US"> 12-14</span></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">除了可折叠的编辑器之外,</span><span lang="EN-US" style="COLOR: black">Visual Studio .NET</span><span style="COLOR: black; FONT-FAMILY: 宋体">的代码编辑器还拥有</span><span lang="EN-US" style="COLOR: black">Visual Studio 6</span><span style="COLOR: black; FONT-FAMILY: 宋体">的全部功能,特别是它支持智能感知,这不仅减少了键入代码的工作量,还可以确保输入正确的参数。</span><span lang="EN-US" style="COLOR: black">C++</span><span style="COLOR: black; FONT-FAMILY: 宋体">开发人员会注意到,</span><span lang="EN-US" style="COLOR: black">Visual Studio .NET</span><span style="COLOR: black; FONT-FAMILY: 宋体">智能感知功能比</span><span lang="EN-US" style="COLOR: black">Visual Studio 6(</span><span style="COLOR: black; FONT-FAMILY: 宋体">其列表框常常遗漏某些项目</span><span lang="EN-US" style="COLOR: black">)</span><span style="COLOR: black; FONT-FAMILY: 宋体">更强大,速度也更快。智能感知功能在</span><span lang="EN-US" style="COLOR: black">Visual Studio .NET 2003</span><span style="COLOR: black; FONT-FAMILY: 宋体">中也得到了进一步的改进。该功能的智能化更强,可以记住用户喜欢的选项,并从这些选项开始,而不是直接从该功能提供的列表的开头开始。</span></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">代码编辑器也对代码进行一些语法检查,在编译代码前用短波浪线划出大多数语法错误。把鼠标放在有下划线的文本上面,就会弹出一个小文本框,解释错误。这个功能</span><span lang="EN-US" style="COLOR: black">VB</span><span style="COLOR: black; FONT-FAMILY: 宋体">开发人员已使用了多年,叫做设计期间的调试功能,现在</span><span lang="EN-US" style="COLOR: black">C#</span><span style="COLOR: black; FONT-FAMILY: 宋体">和</span><span lang="EN-US" style="COLOR: black">C++</span><span style="COLOR: black; FONT-FAMILY: 宋体">开发人员也可以使用它了。</span></p>
<h4 style="FTEL: 21.45pt"><span lang="EN-US">2. </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></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="FONT-FAMILY: 楷体_GB2312">本节的其余部分将介绍许多其他的窗口。如果某个窗口在</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 楷体_GB2312">环境中不可见,可以进入</span><span lang="EN-US">View</span><span style="FONT-FAMILY: 楷体_GB2312">菜单,单击合适窗口的名称。要显示设计视图和代码编辑器,可以在</span><span lang="EN-US">Solution Explorer</span><span style="FONT-FAMILY: 楷体_GB2312">中右击文件名,然后从弹出的窗口中选择</span><span lang="EN-US">View Design </span><span style="FONT-FAMILY: 楷体_GB2312">或</span><span lang="EN-US"> View Code</span><span style="FONT-FAMILY: 楷体_GB2312">,也可以从</span><span lang="EN-US">Solution Explorer</span><span style="FONT-FAMILY: 楷体_GB2312">顶部的工具栏中选择。设计视图和代码编辑器共用同一个窗口。</span></p>
<p class="MsoNormal"><span lang="EN-US">(1) </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">Windows</span><span style="FONT-FAMILY: 宋体">控件库或者</span><span lang="EN-US">ASP.NET</span><span style="FONT-FAMILY: 宋体">应用程序,就可以使用设计视图</span><span lang="EN-US">(Design View)</span><span style="FONT-FAMILY: 宋体">窗口,它会显示窗体的整体外观。设计视图窗口一般和工具箱窗口一起使用。工具箱包含许多可以拖放到程序中的</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">组件,如图</span><span lang="EN-US">12-15</span><span style="FONT-FAMILY: 宋体">所示。</span></p>
<p align="center"><span lang="EN-US"><img height="365" src="12/image015.jpg" width="129" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="FONT-FAMILY: 宋体">图</span><span lang="EN-US"> 12-15</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15.3pt"><span style="FONT-FAMILY: 宋体">应用工具箱的规则与</span><span lang="EN-US">Visual Studio 6</span><span style="FONT-FAMILY: 宋体">中所有的开发环境都一样,但在</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">中,工具箱中的组件数量大大增多了。组件的种类在某种程度上取决于用户所编辑项目的类型。例如,在编辑</span><span lang="EN-US">DemoSolution</span><span style="FONT-FAMILY: 宋体">解决方案中的</span><span lang="EN-US">BasicForm</span><span style="FONT-FAMILY: 宋体">项目时,可以使用的组件种类就比编辑</span><span lang="EN-US">BasicConsoleApp</span><span style="FONT-FAMILY: 宋体">项目时多。最重要的组件种类如下:</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-US">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span style="FONT-FAMILY: 宋体">数据访问组件:可以连接数据源,管理它们包含的数据。这类组件可处理</span><span lang="EN-US">Microsoft SQL Server</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">Oracle</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">OleDb</span><span style="FONT-FAMILY: 宋体">数据源。</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-US" style="COLOR: black">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="EN-US" style="COLOR: black">Windows</span><span style="COLOR: black; FONT-FAMILY: 宋体">窗体组件:表示可视化控件,例如文本框、列表框和树形视图,用于处理胖客户应用程序。</span></p>
<p class="1" style="MARGIN-LEFT: 37.85pt; FTEL: -16.4pt"><span lang="EN-US">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">Web</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">窗体组件:基本上与</span><span style="LETTER-SPACING: 0.1pt"> <span lang="EN-US">Windows</span></span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">控件的作用一样,但用于</span><span lang="EN-US" style="LETTER-SPACING: 0.1pt">Web</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.1pt">浏览器中,把模</span><span style="FONT-FAMILY: 宋体">仿控件的</span><span lang="EN-US">HTML</span><span style="FONT-FAMILY: 宋体">输出结果发送给浏览器。</span><span lang="EN-US"> </span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="EN-US" style="COLOR: black">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span style="COLOR: black; FONT-FAMILY: 宋体">杂项组件:在机器上执行各种有用的任务,例如连接目录服务或事件日志。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15.3pt"><span style="FONT-FAMILY: 宋体">也可以把自己定制的组件类别添加到工具箱中,方法是右击任一类别,并从上下文菜单中选择</span><span lang="EN-US">Add Tab</span><span style="FONT-FAMILY: 宋体">。从该菜单中选择</span><span lang="EN-US">Customize Toolbox</span><span style="FONT-FAMILY: 宋体">,就可以把其他工具放在工具箱中。这非常适合于添加自己喜欢的</span><span lang="EN-US">COM</span><span style="FONT-FAMILY: 宋体">组件和</span><span lang="EN-US">ActiveX</span><span style="FONT-FAMILY: 宋体">控件。在默认情况下,</span><span lang="EN-US">COM</span><span style="FONT-FAMILY: 宋体">组件和</span><span lang="EN-US">ActiveX</span><span style="FONT-FAMILY: 宋体">控件不会显示在工具箱中。如果要添加一个</span><span lang="EN-US">COM</span><span style="FONT-FAMILY: 宋体">控件,可以单击它,并拖放到项目上,就像操作</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">控件一样。</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">会自动添加所有必须的</span><span lang="EN-US">COM</span><span style="FONT-FAMILY: 宋体">交互操作代码,以便项目调用该控件。此时,添加到项目中的实际上是一个</span><span lang="EN-US">VS.NET</span><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></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">C++</span><span style="FONT-FAMILY: 楷体_GB2312">开发人员可能会把工具箱当作资源编辑器的</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 楷体_GB2312">版本。</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 楷体_GB2312">开发人员刚开始不会认为该工具箱是新增的内容,因为在</span><span lang="EN-US">Visual Studio 6</span><span style="FONT-FAMILY: 楷体_GB2312">中就有工具箱,但是,</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 楷体_GB2312">中的工具箱对源代码的作用与</span><span lang="EN-US">VB6 IDE</span><span style="FONT-FAMILY: 楷体_GB2312">中的工具箱有显著的不同。</span></p>
<p class="MsoNormal"><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">12-16</span><span style="FONT-FAMILY: 宋体">所示,该图也是编译并运行该项目的结果。</span></p>
<p align="center"><span lang="EN-US"><img height="345" src="12/image016.jpg" width="479" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="FONT-FAMILY: 宋体">图</span><span lang="EN-US"> 12-16</span></p>
<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">Form1</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"> public class Form1 : System.Windows.Forms.Form</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> {</span></p>
<p class="2" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US"> private System.Windows.Forms.TextBox textBox1;</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">在方法</span><span lang="EN-US">InitializeComponent()</span><span style="FONT-FAMILY: 宋体">中还有一些初始化代码,该方法从</span><span lang="EN-US">Form1</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"> /// <summary></span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> /// Required method for Designer support - do not modify</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> /// the contents of this method with the code editor.</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> /// </summary></span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> private void InitializeComponent()</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> {</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> this.textBox1 = new System.Windows.Forms.TextBox();</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 55.6pt"><span lang="EN-US">this.SuspendLayout();</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> // </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> // textBox1</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> // </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> this.textBox1.Location = new System.Drawing.Point(8, 8);</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> this.textBox1.Name = "textBox1";</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> this.textBox1.TabIndex = 0;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> this.textBox1.Text = "textBox1";</span></p>
<p class="a6" style="MARGIN-TOP: 6pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US"> // </span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> // Form1</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> // </span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; 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="2" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US"> this.Controls.AddRange(new System.Windows.Forms.Control[] { this.textBox1});</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">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">可以读取源代码,确定在应用程序启动时窗体中会有哪些控件。与</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 宋体">查看控件的方式相比,这是一个重要的改变,在</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 宋体">中,所有的控件都放在可视化的设计视图中。现在,由</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">源代码控制应用程序,设计视图只是显示源代码的另一种方式。如果要使用</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">编写</span><span lang="EN-US">VB.NET</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">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">也会自动从代码中检测到应用程序中有一个文本框,并会在设计视图的指定位置显示它。最好可视化地添加这些控件,让</span><span lang="EN-US">Visual Studio</span><span style="FONT-FAMILY: 宋体">处理最初生成的代码,单击鼠标按钮两次要比键入好几行代码快得多,也不容易出错!</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: -1.4pt">——</span></span><span style="LETTER-SPACING: -1.4pt"> </span><span style="FONT-FAMILY: 宋体">手工编写的代码可能不遵循这些条件。特别是</span><span lang="EN-US">InitializeComponent()</span><span style="FONT-FAMILY: 宋体">方法包含初始化文本框的代码,在它的注释中警告用户不要修改代码。这是因为</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">要查找这个方法,以确定应用程序在启动时有哪些控件。如果在代码的其他地方创建和定义了一个控件,</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">不知道有这个控件,因此就不能在设计视图或其他窗口中编辑它。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">实际上,无论有什么警告,都可以在</span><span lang="EN-US">InitializeComponent()</span><span style="FONT-FAMILY: 宋体">中修改代码,但应非常小心。例如,修改一些属性的值一般不会出什么问题,如让某个控件显示不同的文本,或者给它设置另一个大小。实际上,开发人员工作室非常擅长于处理在这个方法中添加的其他代码。但要注意,如果对</span><span lang="EN-US">InitializeComponent()</span><span style="FONT-FAMILY: 宋体">进行了过多的修改,</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">就有可能识别不出使用代码添加的控件。在编译代码时,这不会影响到应用程序,但可能禁用</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">为这些控件提供的某些编辑功能。因此,如果要进行其他重要的初始化,最好在</span><span lang="EN-US">Form1</span><span style="FONT-FAMILY: 宋体">构造函数或其他方法中进行。</span></p>
<p class="MsoNormal"><span lang="EN-US" style="COLOR: black">(2) </span><span style="COLOR: black; FONT-FAMILY: 宋体">属性窗口</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">这是从旧</span><span lang="EN-US">VB IDE</span><span style="FONT-FAMILY: 宋体">继承而来的另一个窗口。本书的第一部分说过,</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">类可以执行属性。实际上,如第</span><span lang="EN-US">19</span><span style="FONT-FAMILY: 宋体">章</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">讨论</span><span lang="EN-US">Windows</span><span style="FONT-FAMILY: 宋体">窗体的建立</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">所述,表示窗体和控件的</span><span lang="EN-US">.NET</span><span style="FONT-FAMILY: 宋体">基类有许多定义其操作和外观的属性。例如</span><span lang="EN-US">Width</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">Height</span><span style="FONT-FAMILY: 宋体">、</span><span lang="EN-US">Enabled(</span><span style="FONT-FAMILY: 宋体">用户是否可以给该控件键入信息</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">Text(</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">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">能通过读取源代码检测到的控件来说,属性窗口可以显示和编辑许多属性的初值,如图</span><span lang="EN-US">12-17</span><span style="FONT-FAMILY: 宋体">所示。</span></p>
<p align="center"><span lang="EN-US"><img height="363" src="12/image017.jpg" width="213" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="FONT-FAMILY: 宋体">图</span><span lang="EN-US"> 12-17</span></p>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?