在.NET Compact Framework 3.5中,默认情况下,异常未安装其实际的错误消息字符串。非常适合将紧凑型框架塞入具有更少内存的Windows移动设备中,但是当您是开发人员并且设备上出现问题时,则不是很好。
从默认的占位符消息中,我知道在有可用空间且需要它们的情况下,可以使用CAB安装这些消息。我已经在手机上安装了NETCFv35.Messages.EN.wm.cab。但是,对于抛出的每个异常,我仍然得到以下Exception.Message:
“ Er一直在融化beschikbaar的所有产品,Maar deze kan niet worden weergegeven omdat deze berichten optioneel zijn和enemeeel niet zijngeïnstalleerdrdop dit设备。NETFv35安装在NETCFv35.Messages.ZH.wvoca上。 Messages.EN.cab支持各种平台,并开始超越您的期望。”
即使您不阅读荷兰语,消息的一般含义也应该足够清楚。有趣的是,即使我的Vista VS2008开发笔记本电脑是英语,我的HTC TyTN II(开发)手机上都有标准的WM6 UK ROM,该消息也是荷兰语。(?)
如果有人对以下任何问题有答案,我将不胜感激:
查找采用.NET CF DateTime对象的代码示例,并将设备的日期和时间设置为该日期(和/或时区).这样做的目的是通过Web服务从服务器获取当前"实际"时间并正确设置设备的时间.
有人这样做过吗?
我正在开发一个播放YouTube视频的Windows Mobile 6(或者可能是5个)的应用程序.那么,它应该播放YouTube视频(并控制/查询播放器有关状态变化,当前帧/时间等)
在网上搜索了一段时间后(以及一些试验),我仍然找不到办法做到这一点.我知道的选项是:
使用嵌入HTML的YouTube播放器,可通过JavaScript控制.但是,我无法从IE Mobile观看YT视频 - 我收到一条错误消息,上面写着"你需要一个启用了Flash Player 8和JavaScript的浏览器".
托管媒体播放器控件,但WMP拒绝播放YT视频,包括移动格式.
使用DirectShow.我还在调查这个(我以前从未与COM合作,更不用说DirectShow了),但我还没有找到支持YouTube格式的解决方案
我宁愿用C#编写这个应用程序,但C++也可以.
请帮助我,StackOverflow的Wise Sages!
我有一个WinMo应用程序,我想从存储卡打开一个文件.该文件不在根目录中,而是在文件夹结构中.我认为OpenFileDialog就像在常规.NET下一样.但它不能让我浏览文件夹.我看起来很蹩脚.或者我是非常愚蠢的?
我从以下代码接收ArgumentException,我很难理解堆栈跟踪中的最后一个条目是
System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr,
Binder binder, Object[] parameters, CultureInfo culture,
Boolean verifyAccess, StackCrawlMark& stackMark)
Run Code Online (Sandbox Code Playgroud)
当我逐步完成DeviceResponse时,按照我的预期填充并且目标位于并且符合预期,但每次都会抛出targetForm.Invoke
任何帮助将非常感激.
该事件定义为:
public static event EventHandler<MsgEventArgs<DeviceResponse>> DeviceResponseReceived;
Run Code Online (Sandbox Code Playgroud)
该代码正在引发该事件:
//Raise the event
if (DeviceResponseReceived != null)
{
if (DeviceResponseReceived.Target is System.Windows.Forms.Form)
{
System.Windows.Forms.Form targetForm = DeviceResponseReceived.Target as System.Windows.Forms.Form;
targetForm.Invoke(DeviceResponseReceived, new MsgEventArgs<DeviceResponse>(deviceResponse));
}
}
Run Code Online (Sandbox Code Playgroud)
MsgEventArgs是从EventArgs派生的通用事件参数类:
public class MsgEventArgs<T> : EventArgs
{
public MsgEventArgs(T value)
{
m_value = value;
}
private T m_value;
public T Value
{
get { return m_value; }
}
}
Run Code Online (Sandbox Code Playgroud)
在我的表单中,我已在表单构造函数中注册了该事件:
DeviceResponse.DeviceResponseReceived += …Run Code Online (Sandbox Code Playgroud) 这段代码在Windows Compact Framework上运行,它的作用是显而易见的.看起来它应该被重构(特别是考虑到我可能想稍后添加cmd.ExecuteResultSet()),但我看不到一种优雅的方式来做到这一点.任何想法都赞赏.
internal void RunNonQuery(string query)
{
string connString = GetLocalConnectionString();
using (SqlCeConnection cn = new SqlCeConnection(connString))
{
cn.Open();
SqlCeCommand cmd = cn.CreateCommand();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
}
}
internal int RunScalar(string query)
{
string connString = GetLocalConnectionString();
using (SqlCeConnection cn = new SqlCeConnection(connString))
{
cn.Open();
SqlCeCommand cmd = cn.CreateCommand();
cmd.CommandText = query;
return int.Parse(cmd.ExecuteScalar().ToString());
}
}
Run Code Online (Sandbox Code Playgroud) 我正在将Compact Framework 2.0用于具有多种形式的Windows CE 5.0设备中的应用程序.
我必须在几乎所有表单中使用连接字符串才能访问数据库:
string conString = "Data Source=\\Program Files\\myproject\\database.sdf";
Run Code Online (Sandbox Code Playgroud)
我想知道是否有可能使这个连接字符串以某种方式"全局",以便只写一次并可从所有表单访问.
c# connection-string compact-framework windows-ce visual-studio-2008
在HttpWebRequest中,用户可以将Method作为Post OR Get或Put或DELETE等传递.
但是对于我们的特定项目,我需要将HttpMethod作为"POST/api/login HTTP/1.0"传递.
但是在.NET CF中不允许这样做.
那么任何人都可以告诉我解决这个问题,以便自定义Http方法.
提前致谢.
我正在使用Psion的SDK在移动设备上提供签名控制.我想在签名控件(这是一个图片框)周围绘制一个矩形.我已将以下内容放入Paint事件中,但问题是它闪烁(当您在图片框中登录时,图片框会不断刷新.
有没有办法把它放到表单的load事件中,所以它只加载一次?我知道它需要有PainEventArgs,但我对此并不十分肯定.
private void scSignature_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawRectangle(new Pen(Color.Black, 2f), 0, 0,
e.ClipRectangle.Width - 1,
e.ClipRectangle.Height - 1
);
}
Run Code Online (Sandbox Code Playgroud)
谢谢
当我使用RAPI API从PC连接到Windows移动设备时,我可以获得其设备ID,如下所示:
using (RemoteDeviceManager r = new RemoteDeviceManager())
{
using (RemoteDevice dev = r.Devices.FirstConnectedDevice)
{
//dev.DeviceId; <--the id
}
}
Run Code Online (Sandbox Code Playgroud)
如何在紧凑的框架中在设备上获得相同的"DeviceId"值?
c# ×8
c++ ×1
events ×1
exception ×1
invoke ×1
rapi ×1
refactoring ×1
windows-ce ×1
winforms ×1
youtube ×1