.NET Compact Framework 移动开发步步来(4)
嗯, 又让大家等了足足一个星期. 先说声对不起了, 再也要诉诉苦. 没有办法呀, 与其它培训类的老师不同, 我这段时间都是比较忙的, 因为学生要期末考, 我们还要为下学期的相关事宜进行预先打算.
我们今天来说说第四个部分的内容,这个部分的内容有实践哦,喜欢的朋友们你们要连上模拟器或是连上手机,再打开Visual Studio 2008准备开动吧。第四个要说的内容是一个对于我们现在Windows Phone应用中比较有用的一块,基本上与很多人的手机生活都是相关的。
那我们知道,Windows Phone手机多是触摸的,所以我们在输入的时候,特别是输入汉字的时候,总是会弹出来一个输入法的框,如果我们使用的拼音呀,笔划呀这些非手写的输入法,那个打开的界面就会占用大部分窗口。所以现在很多手机开始往W方面发展,什么WVGA,WQVGA等等,代表机器有三星的I900,HTC Touch HD。这样的话,把屏幕做成宽屏的话,可以有效的防止这个界面对程序本身界面的遮挡。那这个界面我们就把其称做是SIP吧。
其实我们这里所说的SIP的处理方式与我们PC上面的电脑上是一样的,仅仅需要处理KeyDown,KeyUp,KeyPress就足够了。这三个分别对应的,键按下的事件,键抬起的事件,键点击的事件。怎么使用?与PC开发一样了,我这里就不多说了哈。
在这里我们需要来聊聊这样一个功能,因为我们是手机上的应用开发,所以有时候我们所编写的程序是需要在窗体中捕捉用户的按键而不是在单独的控件中捕捉。那么这个时候我们要怎么做呢?我们只需要找到窗体属性中的KeyPreview,并把其设置为True,然后再对上面提到的几个事件进行相应的处理就好了。
刚才我们说到,SIP在显示的时候会遮挡我们的程序界面,所以我们要编写程序来让我们所开发的软件能够自动适应因为弹出SIP而导致我们可以操作区域变小的问题。How to?其实我们的.NET Compact Framework已经帮我们考虑到了。它提供了一个很不错的组件,名字叫InputPanel。好,现在大家在已经打开的VS平台中新建一个Windows Mobile的项目,并且从“工具箱”中找到那个"InputPanel"组件,把其拖放到窗体编辑中。OK,完了,运行吧。
哈哈,逗大家的,怎么可能就完了呢,其实我们离结束已经不远了。接下来我们在窗体中添加一个Panel控件并把其的Dock属性设置为Fill状态,然后添加一个文本框控件,假设ID是“textBox1". 那么我们切换到文本框控件的事件列表中来,然后按着我们里面事件,添加这两个事件。
关于事件的命名大家就自定吧, 不一定非要跟我一样的。
我们在GotFocus中添加如下代码:
- inputPanel1.Enabled = false;
就一句话.然后在LostFocus中添加另一个代码:
- inputPanel1.Enabled = true;
好了,然后在InputPanel1控件的事件中,添加EnabledChanged事件.在事件中添加下面的代码:
- if(inputPanel1.Enabled)
- {
- panel1.Height -= inputpanel1.Bounds.Height;
- }
- else
- {
- panel1.Height += inputpanel1.Bounds.Height;
- }
好了,然后大家自己试试吧。
嗯,开始说明了,首先,我们需要在窗体中添加一个Fill状态的容器。为什么?因为Windows Phone的窗体都是最大化的窗口,所以我们要去修改窗体的高度,宽度是不太理智的(当然,后期我会教大家如何弄一个不是最大化的窗体出来,嘿)。因此,我们就去添加一个Panel控件来了。别忘记了,还要把Panel控件的AutoScroll控件设置为True,当我们调整大小的时候会让界面有一部分无法显示,如果能够出现滚动条的话,那就好多了。
好了,今天就到这里面,另外也把下一次的内容给说出来吧,关于众多控件的一个概述。
.NET Compact Framework 移动开发步步来(4)相关推荐
- .NET Compact Framework 移动开发步步来(2)
一周过去了, 今天咱们来看看第二课程里面的事儿吧. 上次课里面, 我们聊到了最基本的Windows Mobile开发环境的配置, 相信大家如果真心想学习的话, 已经把环境给搭建好了吧? 基本的环境, ...
- .NET Compact Framework 移动开发步步来(3)
十分抱歉呀, 这段时间期末了, 像我们这类有学历教育的学校, 所有老师都开始忙起来了, 忙出卷呀, 忙改卷, 忙一些与期末相当的事情. 好不容易在这个新年的时候, 总算有了几天的假日. 所以我就在这个 ...
- Windows Mobile, WinCe使用 .NET Compact Framework 进行3G和RAS应用的开发
在.NET Compact Framework下开发3G应用可以有两个options,1:AT command, 2:RAS.其实RAS最终也是通过AT command来管理3G设备,RAS屏蔽了技术 ...
- .NET Compact Framework下的蓝牙开发
蓝牙的应用十分广泛,基于Bluetooth的通信程序开发主要有以下几个步骤: 服务端 * 设置本设备为可发现. * 公开服务给其他Bluetooth设备访问. * 接受其他Bluetooth设备的链接 ...
- Microsoft .NET Compact Framework 开发常见问题解答
这个 FAQ 有部分是通过编辑公共 .NET Compact Framework 新闻组 (microsoft.public.dotnet.framework.compactframework) 贴出 ...
- Windows Moible, Wince 使用.NET Compact Framework的进行蓝牙(Bluetooth)设备配对的开发
在.NET Compact Framework下的Bluetooth开发 之 32feet.NET 里讲述了如何使用32feet.net库来进行Bluetooth的开发,天机 同学在使用过程发现设备配 ...
- Windows Mobile和Wince(Windows Embedded CE )下使用.NET Compact Framework下注册表导出工具的开发...
简介 本文讲述了.NET Compact Framework下的注册表开发的基本概念,介绍在Windows Mobile和Wince下操作注册表的工具,同时使用C#实现了一个注册表导出工具. 背景 W ...
- Windows Moible, Wince 使用.NET Compact Framework进行蓝牙(Bluetooth)开发 之 32feet.NET
上篇文章 .NET Compact Framework下的Bluetooth开发 之 Windows Embedded Source Tools for Bluetooth 讲述了Windows Em ...
- Microsoft .NET Compact Framework 开发常见问题解答 - 专注.NET技术及其相关应用开发! - 博客园...
Microsoft .NET Compact Framework 开发常见问题解答 发布日期: 3/30/2005 | 更新日期: 3/30/2005 Microsoft .NET Compact F ...
最新文章
- 【Redis学习笔记】2018-06-12 复制与传播
- Apache Ranger、业务背景、现状与需求、大数据安全组件介绍与对别、系统架构及实践、ranger admin、UserSync、plugin、权限模型、权限实现等
- MyTask - old implementation - getEntitySet
- .net Json JavaScriptSerializer JsonHelper类
- 直播App测试重点问题 - 服务器压力
- struts2 s:file标签使用及文件上传例子
- C语言常用的库函数 (自用)
- 中科院计算机研究方向-考研导师选择的一些建议
- 【对讲机的那点事】玩对讲机你知道中继台的工作原理吗?
- 鹏业安装算量材料表不能复制问题解答
- 学生用计算机怎么转换进制,一种计算机二进制和十进制转换教具的制作方法
- OneNote应用技巧
- python实现批量改名
- 生信文献 | Sirt6通过介导PI3K/Akt信号通路促进弥漫性大B细胞淋巴瘤的肿瘤发生和耐药性...
- 微信斑马系统:微信朋友圈广告背后的利器
- ADI Blackfin DSP处理器-BF533的开发详解58:DSP控制ADXL345三轴加速度传感器的应用(含源码)
- linux查询当前目录剩余空间,如何在linux下查看目录的剩余空间大小
- 一万字! 中大形企业网络部署架构(链路聚合 mstp+vrrp ap+ac 防火墙 ospf )
- (转)数据挖掘岗求职经验:腾讯+百度+华为(均拿到sp offer)
- SpringSecurity(Web权限方案)
热门文章
- 博观而约取 温故以知新——“21世纪的计算大会”报道
- 中国移动政企科创专题:5G网联无人机,逆风飞行,使命必达
- 说说超链接 target 属性的取值和作用?
- MySQL数据库实验六 简单数据库应用系统设计与实现
- java-回文日期 [蓝桥]
- jQuery1.9(动画效果)学习之——.fadeTo( duration, opacity [, complete ] )
- 查看Apache服务器位置,本地Apache服务器地址
- 常见网络端口 和 常见网络协议
- 深圳2019四年java工资_2019年深圳标准工资的计算方法
- 电子产品量产工具-软件架构-显示系统