📄 100165555.htm
字号:
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 27.65pt"><span lang="EN-US"> {</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 27.65pt"><span lang="EN-US"> break;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 27.65pt"><span lang="EN-US"> }</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 36.85pt"><span lang="EN-US">else</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 32.25pt"><span lang="EN-US"> {</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> MessageBox.Show("Phone number was not formatted correctly. ");</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 27.65pt"><span lang="EN-US"> }</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 27.65pt"><span lang="EN-US">}</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 27.65pt"><span lang="EN-US">else if(frm. DialogResult == DialogResult.cancel)</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 27.65pt"><span lang="EN-US">{</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 27.65pt"><span lang="EN-US"> MessageBox.Show("Form was canceled. ");</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 27.65pt"><span lang="EN-US"> break;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 27.65pt"><span lang="EN-US">}</span></p>
<p class="2" 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">frm.Close();</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">如果电话号码的长度没有通过简单的测试,</span><span lang="EN-US">Phone</span><span style="FONT-FAMILY: 宋体">窗体就会显示出来,让用户更正错误。</span><span lang="EN-US">ShowDialog</span><span style="FONT-FAMILY: 宋体">框没有创建窗体的新实例,在窗体上输入的文本仍在该窗体上,所以如果必须重新设置窗体,就需要程序员自己完成。</span></p>
<h4 style="FTEL: 21.45pt"><span lang="EN-US">2. </span><span style="FONT-FAMILY: 黑体">外观</span></h4>
<p class="MsoNormal" style="LINE-HEIGHT: 18pt"><span style="FONT-FAMILY: 宋体">用户首先看到的是应用程序的窗体。这应是应用程序中第一个也是最重要的功能。如果应用程序不解决业务问题,则其外观就无关紧要了。这并不是说,窗体和应用程序的整体</span><span lang="ES">GUI</span><span style="FONT-FAMILY: 宋体">设计不应美观。像颜色组合、字体大小和窗口大小等的设计都可以使应用程序更容易让用户操作和接受。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 18pt"><span style="FONT-FAMILY: 宋体">有时不希望用户访问系统菜单。在单击窗口左上角的图标时,这个菜单就会显示出来。一般情况下,它包含恢复、最小化、最大化和关闭等选项。</span><span lang="ES">ControlBox</span><span style="FONT-FAMILY: 宋体">属性允许设置系统菜单的可见性。还可以用</span><span lang="ES">MaximizeBox</span><span style="FONT-FAMILY: 宋体">和</span><span lang="ES">MinimizeBox</span><span style="FONT-FAMILY: 宋体">属性设置最大化和最小化按钮的可见性。如果删除了所有的按钮,再把</span><span lang="ES">Text</span><span style="FONT-FAMILY: 宋体">属性设置为空字符串</span><span lang="ES">(“”)</span><span style="FONT-FAMILY: 宋体">,标题栏就会完全消失。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 18pt"><span style="FONT-FAMILY: 宋体">如果设置了窗体的</span><span lang="ES">Icon</span><span style="FONT-FAMILY: 宋体">属性,但没有把</span><span lang="ES">ControlBox</span><span style="FONT-FAMILY: 宋体">属性设置为</span><span lang="ES">false</span><span style="FONT-FAMILY: 宋体">,图标就会显示在窗体的左上角。通常应把</span><span lang="ES">Icon</span><span style="FONT-FAMILY: 宋体">属性设置为</span><span lang="ES">app.ico</span><span style="FONT-FAMILY: 宋体">,这会使每个窗体的图标都与应用程序的图标</span><span lang="ES"> </span><span style="FONT-FAMILY: 宋体">相同。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 18pt"><span lang="ES">FormBorderStyle</span><span style="FONT-FAMILY: 宋体">属性用于设置显示在窗体周围的边框类型。它使用</span><span lang="ES">FormBorderStyle</span><span style="FONT-FAMILY: 宋体">枚举,其值是:</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="ES">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="ES">Fixed3D</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="ES">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="ES">FixedDialog</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="ES">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="ES">FixedSingle</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="ES">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="ES">FixedToolWindow</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="ES">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="ES">None</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="ES">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="ES">Sizable</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="ES">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="ES">SizableToolWindow</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 18pt"><span style="FONT-FAMILY: 宋体">大多数值的意义都一目了然,只有两个工具窗口边框除外。无论怎样设置</span><span lang="ES">ShowInTaskBar</span><span style="FONT-FAMILY: 宋体">属性,工具窗口都不显示在任务栏上。当用户按下</span><span lang="ES">Alt-Tab</span><span style="FONT-FAMILY: 宋体">时,工具窗口也不会显示在窗口列表中。默认设置是</span><span lang="ES">Sizable</span><span style="FONT-FAMILY: 宋体">。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 18pt"><span style="FONT-FAMILY: 宋体">除非明确要求,否则大多数</span><span lang="ES">GUI</span><span style="FONT-FAMILY: 宋体">元素的颜色都应设置为系统颜色,而不是特定的颜色。这样,如果一些用户喜欢把所有的按钮设置为紫字绿底,应用程序就会采用这种颜色设置。为了把控件设置为使用特定的系统颜色,必须调用</span><span lang="ES">System.Drawing.Color</span><span style="FONT-FAMILY: 宋体">类的</span><span lang="ES">FromKnownColor</span><span style="FONT-FAMILY: 宋体">方法。</span><span lang="ES">FromKnownColor</span><span style="FONT-FAMILY: 宋体">方法将一个</span><span lang="ES">KnownColor</span><span style="FONT-FAMILY: 宋体">枚举值作为其参数。在该枚举中定义了许多颜色和各种</span><span lang="ES">GUI</span><span style="FONT-FAMILY: 宋体">元素颜色,例如</span><span lang="ES">Control</span><span style="FONT-FAMILY: 宋体">、</span><span lang="ES">ActiveBorder</span><span style="FONT-FAMILY: 宋体">和</span><span lang="ES">Desktop</span><span style="FONT-FAMILY: 宋体">。例如,如果窗体的背景色应总是匹配</span><span lang="ES">Desktop</span><span style="FONT-FAMILY: 宋体">颜色,就应使用下面的代码:</span></p>
<p class="2" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="ES">myForm.BackColor = Color. FromKnownColor(KnownColor.Desktop);</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 18pt"><span style="FONT-FAMILY: 宋体">如果用户改变桌面的颜色,窗体的背景色也会随之改变。这将给应用程序增加友好性。用户可以为桌面选择某种奇怪的颜色组合,但这由他们的偏好决定。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 18pt"><span lang="ES">Windows XP</span><span style="FONT-FAMILY: 宋体">引入了一个,叫做可视化样式的特性。当鼠标指针停在按钮、文本框、菜单和其他控件上或单击它们时,这些控件的外观会改变,并做出响应。调用</span><span lang="ES">Application. EnableVisualStyles</span><span style="FONT-FAMILY: 宋体">方法,可以激活应用程序的可视化样式。这个方法必须在实例化任何类型的</span><span lang="ES">GUI</span><span style="FONT-FAMILY: 宋体">之前调用,所以,它一般在</span><span lang="ES">Main</span><span style="FONT-FAMILY: 宋体">方法中调用,如下面的示例所示:</span></p>
<p class="2" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="ES">[STAThread]</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="ES">static void Main()</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="ES">{</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="ES"> Application. EnableVisualStyles();</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="ES"> Application.Run(new Form1());</span></p>
<p class="2" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="ES">}</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 18pt"><span style="FONT-FAMILY: 宋体">这段代码允许支持可视化样式的各种控件采用可视化样式。由于</span><span lang="ES">EnableVisualStyles</span><span style="FONT-FAMILY: 宋体">方法存在一个问题,所以必须在调用</span><span lang="ES">EnableVisualStyles</span><span style="FONT-FAMILY: 宋体">之后立即添加</span><span lang="ES">Application.DoEvents()</span><span style="FONT-FAMILY: 宋体">方法。这应能解决工具栏上的图标在运行期间消失的问题。</span><span lang="ES">EnableVisualStyles</span><span style="FONT-FAMILY: 宋体">方法只能在</span><span lang="ES">.NET Framework 1.1</span><span style="FONT-FAMILY: 宋体">中使用。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 18pt"><span style="FONT-FAMILY: 宋体">对于控件,还有一个必须完成的任务。大多数控件都包含</span><span lang="ES">FaltStyle</span><span style="FONT-FAMILY: 宋体">属性,它把</span><span lang="ES">FaltStyle</span><span style="FONT-FAMILY: 宋体">枚举作为其值。这个属性可以使用如下</span><span lang="ES">4</span><span style="FONT-FAMILY: 宋体">个值:</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="ES">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="ES">Flat</span><span style="FONT-FAMILY: 宋体">:当鼠标指针停在控件上时,控件显示为平面模式。</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="ES">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="ES">Flat3D</span><span style="FONT-FAMILY: 宋体">:类似于</span><span lang="ES">Flat</span><span style="FONT-FAMILY: 宋体">,但当鼠标指针停在控件上时,控件显示为</span><span lang="ES">3D</span><span style="FONT-FAMILY: 宋体">模式。</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="ES">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="ES">Standard</span><span style="FONT-FAMILY: 宋体">:控件显示为</span><span lang="ES">3D</span><span style="FONT-FAMILY: 宋体">模式。</span></p>
<p class="1" style="MARGIN-LEFT: 37.55pt; FTEL: -16.1pt"><span lang="ES">●<span style="FONT: 7pt 'Times New Roman'"> </span></span><span lang="ES">System</span><span style="FONT-FAMILY: 宋体">:控件的外观由操作系统控制。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 18pt"><span style="FONT-FAMILY: 宋体">为了在控件上使用可视化样式,</span><span lang="ES">FaltStyle</span><span style="FONT-FAMILY: 宋体">属性应设置为</span><span lang="ES">FaltStyle.System</span><span style="FONT-FAMILY: 宋体">。应用程序现在采用</span><span lang="ES">XP</span><span style="FONT-FAMILY: 宋体">的外观和操作方式。图</span><span lang="ES">19-7</span><span style="FONT-FAMILY: 宋体">和</span><span lang="ES">19-8</span><span style="FONT-FAMILY: 宋体">演示了简单应用程序的外观区别。图</span><span lang="ES">19-7</span><span style="FONT-FAMILY: 宋体">是</span><span lang="ES">EnableVisualStyles</span><span style="FONT-FAMILY: 宋体">设置为启用状态的应用程序,图</span><span lang="ES">19-8</span><span style="FONT-FAMILY: 宋体">是</span><span lang="ES">EnableVisualStyles</span><span style="FONT-FAMILY: 宋体">设置为禁用状态的应用程序。</span></p>
<p align="center"><span lang="ES"><img height="278" src="19/image007.jpg" width="378" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="FONT-FAMILY: 宋体">图</span><span lang="ES"> 19-7</span></p>
<p align="center"><span lang="ES"><img height="281" src="19/image008.jpg" width="376" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="FONT-FAMILY: 宋体">图</span><span lang="ES"> 19-8</span></p></div>
<!-- page -->
<div class="page" style="text-align: center">
<a href="100165554.htm">上一页</a> <a href="index.html">首页</a> <a href="100165556.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='100165555.htm'><font color='red'>19.4.1 Form类</font></a></h1>
<div id="divRealteNod2" style="padding-left: 2px">
<div style='float:left;width:49%'>·<a href='100165552.htm'>19.3.18 Menu控件</a></div><div style='float:right;width:49%'>·<a href='100165553.htm'>19.3.19 ToolBar控件</a></div><div style='float:left;width:49%'>·<a href='100165554.htm'>19.4 窗体</a></div><div style='float:right;width:49%'>·<a href='100165556.htm'>19.4.2 多文档界面</a></div><div style='float:left;width:49%'>·<a href='100165557.htm'>19.4.3 定制控件</a></div><div style='float:right;width:49%'>·<a href='100165558.htm'>19.5 小结</a></div></div>
</div>
</div>
</div>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -