雁过请留痕...
代码改变世界

随笔档案-2011年12月

winForm 国际化的简单实现

2011-12-23 14:17 by xiashengwang, 673 阅读, 收藏, 编辑
摘要: 国际化就是要实现多语种的界面切换。首先,我们不可能用if else等语句来根据选择的不同语种对所有的控件一个一个的设值,这样太麻烦了。.Net提供了国际化相关的支持,主要放在System.Globalization命名空间下。下面是一个简单的实现,麻雀虽小,五脏俱全。这个程序是最近写的一个程序,就在这基础上进行改造,关键是弄懂原理。1> 首先要加入Resource文件在VS工程-->添加新项目里加入三个resource文件,Resource文件的作用就是存放我们的界面控件的显示字符串。这里我们要实现3种语言的切换,所有加入了3个,分别命名为:Resource.en-US.resx, 阅读全文

c#实现的破解程序--针对软件使用时间限制

2011-12-22 22:09 by xiashengwang, 3635 阅读, 收藏, 编辑
摘要: 自己捣腾了一天,弄了一个修改软件过期的小程序,主要是自己有几款有时间限制的软件,每次改时间很麻烦。有了这个程序就可以一劳永逸了。前提:只适用于修改操作系统时间后,程序就能够正常使用的那种软件。如Lingoes,reflector,这两款我测试是可以的。在Win7下必需用管理员的方式启动。思路很简单:1,修改操作系统时间到软件过期前。2,启动软件。3,改回操作系统时间。程序类似于网上的一款好像叫RunAsDate的软件,没用过,只大概记得它的界面,决定自己实现类似的功能。该程序的亮点是1,可以生成破解程序的快捷方式到桌面上,生成的快捷方式图标和原来的程序一样(有轻度的失真),生成这个快捷方式后, 阅读全文

c#修改系统时间的方法

2011-12-21 17:06 by xiashengwang, 5416 阅读, 收藏, 编辑
摘要: C#没有提供直接的方法对系统时间进行设定,一般我们只能通过DateTime.Now获取系统时间,但是并不能对这个时间进行修改。这里对了解的主要的两种方式做了个整理,希望对大家有帮助。方法一,用API函数的方式来修改时间。首先定义API函数 [StructLayout( LayoutKind.Sequential)] public struct SYSTEMTIME { public ushort wYear; public ushort wMonth; public ushort wDayOfWeek; public u... 阅读全文

浅拷贝和深拷贝

2011-12-21 15:48 by xiashengwang, 347 阅读, 收藏, 编辑
摘要: 关于深拷贝和浅拷贝的区别,主要在对于引用类型的成员的拷贝上,浅拷贝只是简单的复制引用的地址,深拷贝会生成一个完全独立的对象,包括对象内的引用成员。浅拷贝:Object类提供了一个MemberwiseClone方法,一般是基于它来实现。深拷贝:要求对象要实现Serializable特性,表明它是可以被序列化的。利用对象的序列化和反序列化来实现深度拷贝。完整的例子如下:using System;using System.Collections.Generic;using System.Text;namespace CsharpBase{ class CloneDemo { ... 阅读全文

IEnumerable接口使用

2011-12-21 15:04 by xiashengwang, 244 阅读, 收藏, 编辑
摘要: 要使用foreach语句对对象遍历,对象必须实现IEnumerable接口,下面是一个Demo。using System;using System.Collections.Generic;using System.Collections;using System.Text;namespace CsharpBase{ class EnumerableDemo { public static void Run() { Child[] childs = new Child[3] { new ... 阅读全文

在for,foreach语句中小心使用控件的SendToBack,BringToFront方法

2011-12-15 23:03 by xiashengwang, 1189 阅读, 收藏, 编辑
摘要: 今天写了段VB。Net遍历控件的方法,乍一看没有什么问题,但结果却出人意料,control集合的元素没有遍历完,并且有重复的元素。 Public Sub SetControlLableAndPropertyFromXml(ByVal parent As Control) For Each subControl As Control In parent.Controls If subControl.HasChildren Then SetControlLableAndPropertyFromXml(subContro... 阅读全文

Android开发环境配置注意事项

2011-12-08 22:11 by xiashengwang, 287 阅读, 收藏, 编辑
摘要: 1 ,Android的ADT安装eclips上安装ADT,这个东西弄了好半天,在线安装网速跟蜗牛一样,从没成功过。只好先下载离线的ADT压缩文件,然后在断网的情况下安装,切忌一定要断网。并且eclips的版本也很重要,就因为这问题,导致安装不上ADT。为此我下载了3个不同版本的eclips来安装,最后成功的是这个体积最小的eclipse-java-indigo-SR1-win32版本,而这两种版本(eclipse-SDK-3.6.1-win32.zip,eclipse-SDK-3.7.1-win32.zip)都缺必要的插件无法安装ADT,需要更新插件才行,但是eclips官网的更新速度让人抓狂 阅读全文