Mat*_*sky 65 .net compact-framework windows-mobile
我们在.Net Compact Framework和Windows Mobile中广泛开展工作.我已经看到很多关于ASP.Net应用程序或其他.Net桌面应用程序开发细节的问题,但没有特定的CF.
移动开发人员在那里可以分享一些事情来开始做,停止做,并避免在Compact Framework中进行开发吗?
cta*_*cke 120
当然:
添加5/25/10
添加7/27/10
添加11/22/11
我只是添加到列表中,因为它们发生在我身上......
Mat*_*sky 11
这是不特定于只是 Compact Framework的设备,但它抚养它丑恶的头多了很多关于他们因资源约束上在移动平台上开发开发时.
最近我遇到了一个很棒的帖子,作为管理内存泄漏的一部分的一部分,这帮助我在我们的一个移动应用程序中设置DataGrid.DataSource时发现了一个我不知道的漏洞.
当绑定一个DataGrid,你应该不直接使用这样的:
dgDataGrid.DataSource = dsDataSet;
Run Code Online (Sandbox Code Playgroud)
因为每次没有正确处理时,这会创建一个新的CurrencyManager.相反,您希望首先将DataGrid绑定到BindingSource,以避免资源泄漏.
bsData.DataSource = dsDataSet;
dgDataGrid.DataSource = bsData;
Run Code Online (Sandbox Code Playgroud)
谁知道?斯科特朗廷在另一篇文章中做过.谢谢斯科特!
如果您必须支持多种屏幕尺寸/分辨率,表单继承是一种很好的方法.基本上,您设计的表格适合标准的320x240屏幕.要支持不同的屏幕大小,您只需添加一个新表单,从您的自定义表单(而不仅仅是表单)继承,然后根据需要重新排列控件.
另一个有用的技巧是以一种允许您将父表单的标题暂时设置为""的方式包装ShowDialog调用 - 这样可以使应用程序中的所有打开表单不会显示在正在运行的程序列表中.增强包装器的另一种方法是使用父窗口的句柄PInvoke SetForegroundWindow.这可以确保父母在孩子关闭后总是重新出现; 没有这个调用,其他窗口可以插入父窗体上方的z-stack中.
注意SD卡上的加密.SqlCE将完全停止工作.Oracle Lite在加密下的行为更加险恶,因为它的部分功能和部分功能都不起作用.
避免使用SqlCE RDA并合并复制.如果它们可靠地工作,这些将是很棒的工具,但是在复制期间可能意外地丢弃网络连接的情况下(在WM世界中很常见).这一点我很难与生产应用程序.我们处理的MS支持技术最终被迫承认它不能100%工作.实际报价:"只是继续尝试复制 - 他们最终会正确合并".