欢迎来到天天文库
浏览记录
ID:14632827
大小:133.50 KB
页数:11页
时间:2018-07-29
《windows mobile ui 设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、WindowsMobileUI设计WindowsMobileUI设计(Smartphone和PocketPC.Net版)目录11/11WindowsMobileUI设计一、概述;二、PocketPCUI设计;三、SmartPhoneUI设计;四、参考。一、概述:WindowsMobile是基于WindowsCE操作系统的,是针对小内存和有限资源的移动设备而进行的开发,11/11WindowsMobileUI设计因此在开发过程中同PC的开发有很大的区别。特别是UI的开发,要针对手持设备进行开发,同时
2、要符合手持设备的习惯操作。下面就我在开发过程中对UI开发的认识进行一些叙述。一、PocketPCUI设计:1、标准控件的使用:PocketPC可以使用.NetCompactFramework中的所有控件,有Listview,TreeView,Button,Label等等,支持的所有控件可见MicrosoftVisualStudio.NET2003中或可查看msdn进行查看。所有控件的用法可查询msdn。下面就InputPanel控件和Panel控件的主要用途进行一些简单的叙述。(1)InputPa
3、nel控件:由于大部分的PocketPC设备都是不带键盘的,因些所有的输入全靠SIP(SoftInputPanel)来进行操作。在.Net的程序中只要加Menubar,就会出现SIP的按纽。但是在SIP出现之后就会覆盖屏幕的下面。这样当在SIP的显示的地方有控件或者是有显示内容时就会被覆盖掉,不能进行查看或者说操作。在实际的编程过程中可以采用两种方法来进行:第一种,也是最简单的一种,在设计程序的时候把SIP的位置给空出来;第二种,就是通过在Form中加入InputPane控件,在InputPane
4、的EnableChange事件中处理当InputPanel的状态发生变化时视图所做的变化操作。如图所示:代码示例:privatevoidinpSIP_EnabledChanged(objectsender,System.EventArgse){if(inpSIP.Enabled){tabControl.Height=246-inpSIP.Bounds.Height;}else{tabControl.Height=246;}}11/11WindowsMobileUI设计另外还有一种情况就是我不想在F
5、orm中增加Inputpanel控件,但在我还想在当我的输入框取得焦点时能够显示SIP,这种情况的解决方法是我们通过P/Invoke技术,调用本地的SIP操作函数SipShowIM()来实现,具体的代码如下:classSip{//////SIPconstants(asdefinedinSIPAPI.h)///privateconstintSIPF_ON=0x00000001;privateconstintSIPF_OFF=0x00000000;///6、ary>///P/InvokenativeApiSipShowIM/////////[DllImport("coredll.dll",EntryPoint="SipShowIM")]privateexternstaticboolshowSIP(intdwFlag);publicstaticboolshowSIP(){returnshowSIP(Sip.SIPF_ON);}publics7、taticboolhideSIP(){returnshowSIP(SIPF_OFF);}}在文件的顶部增加usingSystem.Runtime.InteropServices;使用方法为:比如对于TexBox来说,当TextBox取得焦点时,在TextBox控件的GotFocus事件中实现SIP的显示,在LostFocus中实现SIP的隐藏,代码如下:privatevoidtextBox_GotFocus(objectsender,System.EventArgse){Sip.showSIP()8、;}privatevoidtextBox_LostFocus(objectsender,System.EventArgse){Sip.hideSIP();}(2)Panel控件的应用Panel控件是一个容器,它可以包含其它的控件,主要应用有:1)我最多的应用就是当在一个Form中可能会有几种显示样式时,我就增加几个Panel,每个Panel中加入其所需的控件,当我需要显示某一样式时通过11/11WindowsMobileUI设计panel1.Visible=false;panel2
6、ary>///P/InvokenativeApiSipShowIM/////////[DllImport("coredll.dll",EntryPoint="SipShowIM")]privateexternstaticboolshowSIP(intdwFlag);publicstaticboolshowSIP(){returnshowSIP(Sip.SIPF_ON);}publics
7、taticboolhideSIP(){returnshowSIP(SIPF_OFF);}}在文件的顶部增加usingSystem.Runtime.InteropServices;使用方法为:比如对于TexBox来说,当TextBox取得焦点时,在TextBox控件的GotFocus事件中实现SIP的显示,在LostFocus中实现SIP的隐藏,代码如下:privatevoidtextBox_GotFocus(objectsender,System.EventArgse){Sip.showSIP()
8、;}privatevoidtextBox_LostFocus(objectsender,System.EventArgse){Sip.hideSIP();}(2)Panel控件的应用Panel控件是一个容器,它可以包含其它的控件,主要应用有:1)我最多的应用就是当在一个Form中可能会有几种显示样式时,我就增加几个Panel,每个Panel中加入其所需的控件,当我需要显示某一样式时通过11/11WindowsMobileUI设计panel1.Visible=false;panel2
此文档下载收益归作者所有