C#开发wince平台下的winform程序,textbox的keypress事件无法触发,本意是想限制textbox只能输入数字。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#开发wince平台下的winform程序,textbox的keypress事件无法触发,本意是想限制textbox只能输入数字。相关的知识,希望对你有一定的参考价值。

1、form的keypreview属性设为ture或者false都试过;
2、keypress事件绑定在textbox上不触发,绑定在form上时,焦点在textbox上也不触发;
3、windows平台的winform程序可以触发;
4、用keydown事件,不论我输入字母还是数字,获取到的e.keyvalue都是229;

参考技术A 为什么不用MaskedTextBox控件?

它可以限制输入的内容为电话号码、身份证、日期、数字和其长度,也可以自定义格式。追问

貌似wince下没这控件,我用的numericupdown一样可以输入其他字符

参考技术B 没有硬件无法测试啊。。。你用的vs08?追问

是啊,用的vs2008,用自带的模拟器可以测试啊

追答

可是现在大多数都没有用08版了。后面的又不支持。你说的问题我相信很大可能还是你自己的问题。。。特别是第四点绝不可能,另外keydown里面应该看keycode吧,不是keyvalue。

追问

我也想知道到底是啥问题,第四点,真的我自己也不相信,但是调试的结果就是这样,我本来就是因为keypress无法触发,才想到用keydown,谁知道居然是这种结果

追答

keycode是多少

追问

不好意思,好久才上一次。不论是keycode,keyvalue都是229

VS2008开发WinCE程序编译速度慢的解决办法

VS2008开发WinCE程序编译速度慢的解决办法

VS2008环境下采用C#、.NET Compact Framework开发WinCE、Windows Mobile程序时,编译项目非常慢,有时候需要几分钟甚至十几分钟,如果出现这种情况,除了排除机器配置问题外,你可以修改VS的配置文件,以屏蔽掉编译中不需要的任务,这个修改可以让你的编译速度大大提高,有可能你的编译时间只需要几秒钟就搞定了啊。

1、找到以下文件

C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.CompactFramework.Common.targets

2、用记事本打开该文件,找到以下节点,按照加粗亮底的部分,修改后保存。

 

<Target Name="PlatformVerificationTask" Condition="‘$(SkipPlatformVerification)‘ == ‘true‘" >
  <PlatformVerificationTask
    PlatformFamilyName="$(PlatformFamilyName)"
    PlatformID="$(PlatformID)"
    SourceAssembly="@(IntermediateAssembly)"
    ReferencePath="@(ReferencePath)"
    TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
    PlatformVersion="$(TargetFrameworkVersion)"/>
</Target>

 

3、重启VS,再次编译,速度是不是提高了很多呢?

msdn资料:http://blogs.msdn.com/b/vsdteam/archive/2006/09/15/756400.aspx

以上是关于C#开发wince平台下的winform程序,textbox的keypress事件无法触发,本意是想限制textbox只能输入数字。的主要内容,如果未能解决你的问题,请参考以下文章

求教用C#实现多语言的程序

怎样把C#程序部署到PDA上

C# winform 程序开发知识点总结(干货)

WinForm开发模式 &&公共控件

VS2008开发WinCE程序编译速度慢的解决办法

c# wpf是啥