随笔 - 249  文章 - 1  评论 - 1207  阅读 - 61万

Docking and Anchoring Controls on Windows Mobile

    在正文之前,首先来讲讲Windows Mobile设备UI设计方面的感受。不同环境下,开发Windows Mobile设备应用程序时,界面设计的难易程度也不同。最初在EVC4.0下做Pocket PC 2003se的MFC应用程序时,Resource下的Dialog界面大小是用户指定的,为了使Dialog界面和真实设备的界面吻合,我们需要手动调整Dialog的大小,最头疼的莫过于屏幕在portrait和 landscape 模式切换时,界面不会自动改变。在Visual Studio 2005下,如果使用C++进行native代码开发的话,其界面和EVC4.0下是差不多的。但是使用C#进行managed代码开发的话,就好多了。因为它给的Form就是和真实设备上的Form一致的,这点可以从Form Designer中直观看出来。
    回归到Docking and Anchoring Controls on Windows Mobile的话题中。“Docking”,顾名思义就是停靠,也就是将某个控件停靠在Form的上、下、左、右或者中间(称为Fill)。“Anchoring”是锚固的意思,其意义就像一艘船如果遇到风暴,就需要在海港里使用锚固定一样。我想,大家在使用Visual Studio的时候,可以自己拖动诸如Solution、Debug和Property等窗口,使其停靠在某一个位置,这个就是Docking and Anchoring的意义吧。
    那么,我们如何在Windows Mobile中来设置控件的Docking and Anchoring呢?方法很简单,我们不用写一行代码就能实现这个功能。在某一个控件的Property窗口中,具有Anchor和Dock这两项,我们可以在这两个地方进行设置。如下图1所示:

                                      图1:控件的Anchor和Dock选项

    那么,使用Anchor/Dock和不使用Anchor/Dock有什么区别呢?通过下面两张图片的比较我们就可以直观的感受到。图2是portrait模式下的屏幕。图3和图4是在landscape模式下的屏幕,其中,图3是没有使用Docking and Anchoring的屏幕,图4是使用了Docking and Anchoring的屏幕。大家可以看到,如果使用了Docking and Anchoring,当屏幕在portrait和landscape模式下切换时,控件会自动进行调整,其作用是不言而喻的。

      图2:Portrait模式下的屏幕截图

     图3:Portrait模式下未使用Docking and Anchoring的屏幕截图

 


    图4:Portrait模式下使用Docking and Anchoring的屏幕截图

    通过以上的比较,我们可以明显感觉到Docking and Anchoring在Windows Mobile UI设计中的作用了吧。无论对开发者还是使用者,Docking and Anchoring都是一个不错的Feature。

posted on   施炯  阅读(2317)  评论(1编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2008年11月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6

点击右上角即可分享
微信分享提示