欢迎来到天天文库
浏览记录
ID:22681319
大小:77.50 KB
页数:13页
时间:2018-10-30
《windows mobile窗口之间传递数据的方法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、windowsmobile窗口之间传递数据的方法 本文示例源代码或素材下载 在obile上设计UI的时候,经常会碰到多个窗口的情况。有时候,我们需要将一个窗口中的用户输入信息反应到另一个窗口中去,这就涉及到窗口之间的数据传递问题。下面就分native和managed这两种方式来讲讲这个窗口之间数据传递的方法。 1.Native 这个方法是当时我在看MFC时学到的,当时应用的场景是这样的。我建立了一个基于对话框的应用程序(Dialog-based),一些参数设置需要另外一个对话框来呈现给用户,在用户输入完之后,就需要将数据
2、传递给主对话框。当时我是这么实现的: a)在stdafx.h头文件中,加入用户定义消息和传递的数据结构,如:#define_LOCALADDR_SET _USER+21//本地STC地址设置消息定义typedefstructtagADDRESS{ intnAddr0; intnAddr1; intnAddr2; intnAddr3;}ADDRESS; b)在地址设置对话框的实现文件中,加入OK按钮的消息处理函数:voidCLocalAddrSet::OnButtonApply(){ //TO
3、DO:Addyourcontrolnotificationhandlercodehere UpdateData(TRUE); ADDRESSrp; rp.nAddr0=m_intLocalAddr0; rp.nAddr1=m_intLocalAddr1; rp.nAddr2=m_intLocalAddr2; rp.nAddr3=m_intLocalAddr3; //发送消息 AfxGetMainessage(_LOCAL
4、ADDR_SET,0,(LPARAM)rp); } c)在主对话框的头文件中,加入消息映射函数声明:afx_msgLRESULTLocalAddrSetPrco(,LPARAMlParam);//本地设备地址设置消息映射函数声明 d)在主对话框文件(.cpp)中,加入消息映射和对应的实现函数:ON_MESSAGE(_LOCALADDR_SET,LocalAddrSetPrco) //本地设备地址设置处理映射//本地地址设置LRESULTCSlaverDectorDlg::LocalAddrSetPrco(,LP
5、ARAMlParam){ ADDRESS*prp=(ADDRESS*)lParam; inti; intHEC=0;//头校验 .} 2.Managed Managed方式中,有三种方法,分别是:使用构造器传递数据、通过属性传递和通过事件(参数)传递。具体可以参考《obile平台应用与开发》7.2节。 a)使用构造器传递数据 使用构造器可以向一个新窗体传递初始值,如在主窗体Form1的基础上创建Form2,我们就可以在Form2的构造函数中,接收一个初始的值,并显示在对应的label
6、中,代码如下: publicForm2(stringdefaultUser) { Initializeponent(); m_txtUserName.Text=defaultUser; } 在Form1中,我们可以使用如下的方法来创建Form2: Form2f=ne2(guest); DialogResultr=f.Sho2中。 b)通过属性传递 向Form2添加属性,通过为属性赋值和
7、读取属性值来进行数据传递。首先为Form2添加公共属性,代码如下: #region使用属性 publicstringUserName { get { returnm_txtUserName.Text; } set { if(value==null) m_txtUse
8、rName.Text=String.Empty; 12下一页——感谢阅读这篇文章,..,else m_txtUserName.Text=value; }
此文档下载收益归作者所有