上面的三个标签位于面板上,下面的两个标签位于窗体本身上。对于添加到窗体上的所有控件,请确保明确消除定位。默认情况下,Visual Studio 2005 将所有控件定位到上边缘和左边缘或它们的宿主容器中。处于纵向模式时,用户界面看起来很正常,但是如果将方向改为横向模式,就会出现问题,如图 4 所示。
|
|
| 图4:横向模式的Pocket PC,其用户界面包含既未停靠也未定位的控件 |
您马上会看到,并非纵向模式中显示的所有标签在横向模式中都能显示。部分面板(包括 label1)未显示在屏幕上。label5 也未显示在屏幕上,在横向模式下,显示屏的左右两侧未被填充。横向模式似乎只能显示纵向模式用户界面的部分内容。
要解决这个问题,无需编写实际代码,可以利用 .NET Compact Framework 2.0 应用程序的新增功能:停靠和定位。通过设置 Anchor 属性,可以轻松地将控件定位到屏幕的一个或多个边缘。定位控件意味着到定位边缘的相对位置始终保持不变,与显示方向无关。通过使用 Dock 属性,可以指定特定控件与其父控件边缘的对齐方式或填充屏幕区域的方式。将多个控件停靠到其父控件的同一边缘会导致这些控件彼此堆叠。查看图 5,您会发现其与图 3 略有不同。但是,此时控件已被定位和停靠。
|
|
| 图5:纵向模式的Pocket PC,其用户界面包含停靠和定位控件 |
在图 5 中,标签指明了它们的停靠方式。上面的三个标签都属于面板控件。最上面的标签未被停靠,但是定位到了面板控件的左边缘、上边缘和右边缘,面板控件又停靠到窗体的上边缘。左边缘、上边缘、右边缘与该标签之间的距离与显示方向无关,始终保持不变。用户界面以横向模式显示时,该标签的大小将被调整。面板控件中的其他两个标签显示在彼此的上边缘;二者都停靠到面板控件的下边缘。Tab 键顺序决定了这些标签的显示方式。如果现在将显示方向改为横向模式,窗体上的所有控件仍将显示,整个窗体都用来填充控件,如图 6 所示。
|
|
| 图6:横向模式的Pocket PC,其用户界面包含停靠和定位控件 |
图 6 中显示的用户界面比图 4 中显示的用户界面的效果要好得多,因为各个控件的大小已经调整,能够在横向模式中正确显示。要想真正了解停靠和定位对纵向模式和横向模式中控件位置的影响,应当花些时间来尝试一下。
在 Visual Studio 2005 中,在纵向和横向模式(甚至设计器视图)中查看用户界面十分简单。要更改设计器视图中设备的方向,只需从快捷菜单中选择整个窗体 [右键单击未放置任何控件的窗体的任意位置,再右键单击窗体的标题栏或设备外观,然后选择 Select <form class name>(选择 <form class name>)]。如果应用程序中只有一个窗体,并且使用 Visual Studio 2005 指定给该窗体的默认名称,则 <form class name> 将为 Form1。选择整个窗体后,通过右键单击设备外观显示的快捷菜单将包含不同项,包括 Rotate Left(向左旋转)和 Rotate Right(向右旋转)。您可以使用这些项更改显示方向,如图 7 所示。此外,选择整个窗体后,也可以使用工具栏按钮更改方向。
![]() |
| 图7:更改设计器视图中的显示方向 |
拆分器控件
.NET Compact Framework 2.0 中有一个新控件并不容易理解,并且不能直观使用。运行时,可以使用新的拆分器控件和停靠控件来更改那些控件的大小,类似于完整 .NET Framework 中的拆分器控件。
设计过程中,可以添加拆分器控件,还可以设置它们的大小。您向窗体添加停靠控件和拆分器控件的顺序决定了拆分器运行于哪个停靠控件,还决定了拆分器控件对于用户的显示方式。根据 Visual Studio 联机帮助,使用拆分器控件可以调整停靠顺序中在它前面的那个停靠控件的大小。因为无法手动设置停靠顺序,所以必须在添加完要调整其大小的停靠控件后立即添加拆分器控件。还必须确保将拆分器控件停靠到要调整其大小的停靠控件的边缘,如图 8 所示。
![]() |
| 图8:设计器视图中的拆分器控件 |
图 8 中的用户界面是按以下方式创建的。所有三个图片框逐个添加到窗体中,并停靠到窗体的上边缘和右边缘,图 8 中窗体左下部显示的最后一个图片框停靠为填充。创建图片框后,将两个拆分器拖到左下部的图片框中,并分别停靠到该图片框的上边缘和右边缘。
| 共8页: 上一页 [1] 2 [3] [4] [5] [6] [7] [8] 下一页 | ||||||||||
|
|
|||
| · Windows Server 2008 .. · DDoS攻击防御与分析 · 网络钓鱼 · 华为七千人主动辞职规.. · CISSP认证成长之路 · Windows远程桌面应用 · WiMAX、3G、McWill博弈 · 十大正在慢慢死去的IT.. |
· 未来五年可能必备的10.. · VLAN技术 · 802.11n:下一代的无线.. · 龙芯要做中国的“奔腾” · 如何优化IT 控制能耗 · 三层交换技术专题 · 英特尔45纳米Penryn处.. · 拒绝服务攻击DoS专题 |
||
|
|||
| · SQL Server 2005全解 · RAID——磁盘阵列基础 · 三层交换技术专题 · SQL Server入门到精通 · 刀片服务器基础 · Windows远程桌面应用 · C#技术开发指南 · C#技术开发指南 |
· Solaris 10 配置管理 · Cisco IOS · 路由器设置与口令恢复 · Linux集群技术 · Exchange Server专题 · 木马原理与防范 · FreeBSD使用教程 · 多核服务器技术 |
||
|
|||
| · SQL Server入门到精通 · SQL Server 2005全解 · C#技术开发指南 · 刀片服务器基础 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 |
· 邮件服务器专题 · Sniffer安全技术从入门.. · 常用交换机典型配置 · Linux集群技术 · 路由器设置与口令恢复 · 多核服务器技术 · 网络钓鱼 · Exchange Server专题 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·VMware ACE 2客户端Licen.. ·为OCS2007配置边缘服务器 |
·Microsoft Office Commun.. ·使用ISA Server 2006发布.. |
| ·秋之银杏林 ·感谢宝贝: 带给我别样人生 |
·我只是你的过客 ·职场冲浪(之十):如果,我.. |
| · 华为七千人主动辞职规避.. · 华为、贝恩资本22亿美元.. · 热门 IT 培训认证官方资.. |
· 网络嗅探教程:为什么要.. · 网络嗅探教程:使用Snif.. · Windows平台的安全问题.. |
| · 测试开发人员参考手册 · BEA会被甲骨文成功收购.. · 程序员如何成长? |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 微软在欧盟反垄断中输掉.. · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 |
· IBM虚拟化之路 · 英特尔45纳米处理器被指.. · 铪元素引发CPU革命 英特.. |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 希捷承认部分硬盘暗藏病.. · 硬盘之父获得诺贝尔物理.. · 存储2006,一个并购的大.. |