木子屋 Dnawo's BLOG

2014-07 归档

共 31 篇

KeyDown、KeyUp和KeyPress三个事件区别

1.引发事件的按键 非字符键不会引发 KeyPress 事件,但非字符键却可以引发 KeyDown 和 KeyUp 事件。KeyPress 事件 KeyChar 属性可以获取输入的字符。 2.事件引发的时间 KeyDown 和 KeyPress 事件在按下键时发生,KeyUp 事件在释放键时发生。 3.事件发生的顺序 KeyDown -> KeyPress -> KeyUp。如果按一个键很久才松开,发生的事件为:KeyDown -> KeyPress -> KeyDown -> KeyPress -> KeyDown -> KeyPress -> ... -> KeyUp。 参考资料 .KeyDown事件:http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.keydown.aspx…

C#创建泛型对象实例

using System; using System.Collections.Specialized; using System.Reflection; using System.Web; namespace ConsoleApplication1 { class Program { static void Main(string args) { Person person = CreateInstance<Person>("name=dnawo&age=20&birthday=2014-07-23"); Console.…

WinForm窗体属性默认值修改示例

每次新建WinForm应用程序项目后,第一件事就是修改Form1窗体FormBorderStyle、MaximizeBox和StartPosition三个属性值,有没有办法创建项目时自动修改好这些属性值呢?Form类没办法修改,自定义控件太麻烦,退而求其次,只要在创建项目时能在Form1.Designer.cs文件自动添加下边三句代码就可以了: 这可以通过修改项目模板实现,以Visual Studio 2012为例,模板文件位置为: C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\CSharp\Windows\2052\WindowsApplication\form1.designer.cs…

WinForm版本升级器闪屏优化过程分享

最近写了一个WinForm应用程序的版本升级器,测试发现没有新版本时升级器界面会一闪而过(闪屏),用户体验不好,于是想怎么解决这个问题。 升级器主要代码如下: 开始的思路是先把窗体隐藏起来,等确认升级时再显示窗体,修改,测试可以解决闪屏问题: 还有没有其他解决方法?经分析,检测版本和From1窗体没什么关系,要是能先检测版本,确认升级时再初始化显示Form1窗体逻辑上更恰当,肯定也能解决闪屏问题,可以这么实现吗?可以,把检测过程移到应用程序入口函数即可,修改后的Program.cs如下: 这么改还有一个优点:完美解决了应用程序旧版本参数传入问题(从Main函数参数传入)。 补充说明 .在Form1_Load设置窗体属性this.Visible = false;或调用方法this.Hide();不能隐藏窗体;

C#使用微软TTS语音引擎实现文字转语音示例

C#使用微软TTS语音引擎实现文字转语音示例 在VS2012创建Windows窗体应用程序项目,添加引用COM组件Microsoft Speech Object Library: TTS除了可以用于文字转语音,还可以将语音保存成文件,代码如下: Windows7 TTS语音引擎默认语音修改示例 参考资料 .visual c#怎么使用tts:http://zhidao.baidu.com/question/93308685.html .c#之TTS发音程序:http://blog.csdn.net/kkfdsa132/article/details/5394700 .关于Microsoft Speech SDK 中TTS的研究 :http://www.cnblogs.com/lxinxuan/archive/2007/03/17/678606.html…

C#判断计算机是否联网

方法一 方法二 说明:NetworkInterface.GetIsNetworkAvailable()仅用于检测是否有可用的网络连接(网卡),不能用于检测计算机是否联网。例如拨号上网的计算机,没有拨号时也是返回True。 参考资料 .C# checking Internet connection:http://stackoverflow.com/questions/20309158/c-sharp-checking-internet-connection .How do I check for a network connection:http://stackoverflow.com/questions/520347/how-do-i-check-for-a-network-connection