winform
qoushui
15年.NET经验,5年JAVA经验。对一卡通、GPS行业熟悉,头脑灵活,技术面广。
展开
-
WIN7中使用c#控制微软拼音输入法
NET中,对于输入法的控制是比较鸡肋的一个功能,经常不能达到精确控制。在XP中,使用以下代码 ,可以记录用户最后切换 的输入法,在某些特定的位置关闭输入法以免输入错误的全角数字及其它中文输入法下的问题。但在WIN7中内置了两个拼音输入法,这两个输入法很奇怪,会和英文输入法混为一体,在这三种输入法中切换,不会引发InputLanguageChanged。处于拼音输入法时,使用InputL原创 2011-11-22 17:49:43 · 3682 阅读 · 0 评论 -
C#异步连接管理
public Socket Client { get; private set; } public MyTcpClient Start(System.Net.IPEndPoint ipEndPoint, Func doWhenAccept, Func heart) { System.Diagnostics.Trace.WriteLine("准原创 2012-05-07 12:54:56 · 1333 阅读 · 0 评论 -
DATASET2ANYCODE之二 FOREACH
上前的写法过于难看,于是想利用LAMBDA写法来精简写法,思路没问题,写法没问题,实现 时有问题了,本想偷点懒,直接用3.5的LAMBDA来实现,不过首先遭遇了无法解析=>的问题找了些资料,无意中发现了一个,也的确应该这样写,CSharpCodePrivoder本身是2.0的,但如何支持3.5的LAMBDA呢,以下代码解决CSharpCodeProvider CSharpCod原创 2012-06-10 17:29:37 · 645 阅读 · 0 评论 -
使用SharpZipLib压缩序列化对象
如题测试代码如下:string str_org = "aaaaaaaaaabbbbbbbbbbbbcccccccccdddddddd"; System.IO.MemoryStream m = new System.IO.MemoryStream(System.Text.Encoding.ASCII.GetBytes(str_org));原创 2012-10-13 11:40:26 · 928 阅读 · 0 评论 -
从内存中动态加载C++ DLL
耗时两天,终于实现了C#中动态加载内存中的C++ DLL。网上有很明确的描述,DLL一般是静态引用,也可以从文件中动态加载。从内存中加载有一些麻烦,但网上也有类似的文章。时间主要用于处理X64上的内存加载,涉及到很多内存操作,最终解决。代码一些英文网站上有,虽然各不相同,但原理是一样的,基本上每个版本都正确。原创 2013-09-28 22:17:56 · 4359 阅读 · 2 评论 -
dataset2any之二:解析DATASET中的元数据
DATA2CODE很多人都在做,不过网上没有发现对DATASET的解析 ,多数都是直接对DB进行解析,有自己的产品界面,最近利用T4和VS提供的自定义代码生成工具功能,完成了对VS自己的DATASET.XSD的解析 。感谢LINQ2XSD。 可恨MS的代码不公开,很多东西就几行代码的事情偏偏 改不了。原创 2013-05-03 09:14:19 · 740 阅读 · 0 评论 -
谨慎使用时间ID
long id = MyTime.ConverDateTimeToJavaMilliSecond(DateTime.Now) /1000;id++;一次程序执行中不会有什么异常,但如果此次程序入库的数据比较多,或者程序重启间隔过短,除1000更是找死的节奏,假如此次ID增加10,而重启间隔小于10秒,则立即出现ID重复问题。即使不除1000,也只不过是减少重复的原创 2014-01-09 12:17:26 · 845 阅读 · 0 评论