摘要: public class Win32API { [System.Runtime.InteropServices.DllImport("user32.dll")] public static extern bool PtInRect(ref Rectangle r, Point p); } /// <summary> /// 停靠到顶端 /// </summary> priv... 阅读全文
posted @ 2010-10-28 09:27 liuyan 阅读(6299) 评论(0) 推荐(0) 编辑
摘要: 事件驱动(Event Driven)是C#窗口程序设计的核心,其重要性就相当于VC中的消息映射,不了解事件驱动就无法深入窗口程序设计的殿堂。在C#语言中,事件的处理主要有两种方法:委托式的事件处理模式(Delegation Event Model)与对可重载方法(Event Method)的重载。1、委托式事件处理 委托式事件处理模式,顾名思义,就是将特定的事件委托给负责事件处理的方法来进行。 在... 阅读全文
posted @ 2010-07-09 17:52 liuyan 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 同步套接字通信Socket支持下的网上点对点的通信服务端实现监听连接,客户端实现发送连接请求,建立连接后进行发送和接收数据的功能服务器端建立一个socket,设置好本机的ip和监听的端口与socket进行绑定,开始监听连接请求,当接收到连接请求后,发送确认,同客户端建立连接,开始与客户端进行通信。客户端建立一个socket,设置好服务器端的IP和提供服务的端口,发出连接请求,接收到服务的确认后,尽... 阅读全文
posted @ 2010-07-06 11:22 liuyan 阅读(519) 评论(0) 推荐(1) 编辑
摘要: 查看MSDN如下:Control..::.Invoke ---> 在拥有此控件的基础窗口句柄的线程上执行委托。Control..::.BeginInvoke ---> 在创建控件的基础句柄所在线程上异步执行委托。 显然,Invoke() 与 BeginInvoke() 方法间的主要区别在于“异步”关键字眼。 也就是说,Invoke() 调用时,会阻塞当前线程,等... 阅读全文
posted @ 2010-06-22 15:37 liuyan 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 设计模式(工厂模式、单例模式、模板模式)简单工厂模式:1.概述:工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程(new关键字和具体的构造器)隐藏起来,用一个工厂方法来代替,对外提供的只是一个工厂方法,达到提高灵活性的目的。2.优点: 1.隐蔽了new关键字和构造器 2.降低了这个对象与别的类之间的耦合度,提高了程序的可扩展性 原因:当子类被别的类替换,或者构造器的参数发生变化的时候... 阅读全文
posted @ 2010-05-31 11:28 liuyan 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 引文:http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.html 阅读全文
posted @ 2010-05-29 18:08 liuyan 阅读(139) 评论(0) 推荐(0) 编辑
摘要: c# DllImport 用法http://yangruirui.javaeye.com/blog/495047.net DllImport的意义http://wenku.baidu.com/view/fa29db88d0d233d4b14e69b8.html 阅读全文
posted @ 2010-05-14 13:53 liuyan 阅读(212) 评论(0) 推荐(1) 编辑
摘要: 泛型最常见的用途是泛型集合,命名空间System.Collections.Generic 中包含了一些基于泛型的集合类,使用泛型集合类可以提供更高的类型安全性,还有更高的性能,避免了非泛型集合的重复的装箱和拆箱。 很多非泛型集合类都有对应的泛型集合类,下面是常用的非泛型集合类以及对应的泛型集合类:非泛型集合类 泛型集合类 ArrayList List<T> HashTable DIc... 阅读全文
posted @ 2010-05-13 18:28 liuyan 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 引用:http://www.newasp.net/tech/net/13588.htmlstring[] arr = new string[] { "string1", "string2", "string3" };InsertMethod<string>(arr);private void InsertMethod<T>(T[] parms) { List<T>... 阅读全文
posted @ 2010-05-06 14:49 liuyan 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?答:从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问业务逻辑层:是整个系统的核心,它与这个系统的业务(领域)有关表示层:是系统的UI部分,负责使用者与整个系统的交互。优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。缺点: 增... 阅读全文
posted @ 2010-04-23 18:58 liuyan 阅读(256) 评论(0) 推荐(0) 编辑