2010年8月2日

C# 透明窗体制作方法比较(2)

摘要: 上文讨论了C#本身提供的2种透明窗体制作方法,但在有些情况下满足不了需要,这里再提供2种方法供参考。UpdateLayeredWindow()和GraphicsPath。  关于用Windows api的SetLayeredWindowAttributes(),bitblt()制作透明窗体在这里不再讨论。SetLayeredWindowAttributes()可参照上文,bitblt()类似于Up... 阅读全文

posted @ 2010-08-02 17:04 钟湘光 阅读(2923) 评论(5) 推荐(2) 编辑

C# 透明窗体制作方法比较(1)

摘要: 制作透明窗体办法有好几种,各有优缺点.我们先来看看C#本身提供的办法1:通过设置窗体的TransparencyKey实现   例:窗体中的白色会变成透明[代码]2:通过设置窗体的Opacity 实现   例:窗体的透明度为50%[代码]为了更好说明问题,我们先看一个实例。(1)新建一个winform应用程序(2)FormLoad中添加以下代码:  this.BackColor = Color.Wh... 阅读全文

posted @ 2010-08-02 14:31 钟湘光 阅读(4852) 评论(0) 推荐(0) 编辑

2010年6月28日

程序设计实例(1)

摘要: 这一章我们要设计一个叫CurrencyConvertorDemo的程序。1. 功能简介:  显示常用货币汇率。2. 程序设计 (1)理解需求:要进行程序设计要做的第一件事就是理解需求。毫无疑问,显示汇率包含2个方面的问题   (a) 获取汇率  (b) 怎样显示汇率按正常的软件开发流程,程序设计时应该有很明确的需求分析。但进行程序设计前,正确,完整理解需求并不是件容易的事。比如该例,需求很简单:... 阅读全文

posted @ 2010-06-28 17:43 钟湘光 阅读(477) 评论(2) 推荐(0) 编辑

程序设计实例-前言

摘要: 一说起程序设计,有些人就高谈阔论,什么模式,什么原则,再背几个大师的经典言论,可到做项目的时候,实在看不出他们能设计好一个项目,甚至连需求都搞不清。这也难怪,在中国,老板反正不懂,就看谁能吹。  在我去过日本的大软件公司,技术方面的基层领导全是曾经的优秀程序员,即使当上主管级别的也没有放弃过写代码这份工作。当然,他写代码主要目的和程序员不一样,更多为了技术调研,新技术跟踪,指导程序员工作。  我想... 阅读全文

posted @ 2010-06-28 17:34 钟湘光 阅读(345) 评论(1) 推荐(0) 编辑

2010年6月18日

RealProxy实现客户端代理

摘要: 客户端访问WCF服务时,我们会使用客户端代理,该代理通常通过继承ClientBase<TChannel>来实现,对每一个TChannel我都必须实现TChannel的客户端。当WCF服务服务契约变更时,客户端也必须做代码结构的变更。如果使用RealProxy来实现客户端代理,可以不需要客户端做代码结构的变更。未完,待续。。。 阅读全文

posted @ 2010-06-18 17:40 钟湘光 阅读(504) 评论(2) 推荐(0) 编辑

松耦合应用程序构建技术-依赖注入(Unity)

摘要: 如果编程时,对于调用者,只需知道接口定义能调用具体实现类的方法,将极大方便构建松耦合应用程序。这里讨论一种这样的技术:依赖注入。微软P&P团队开发的应用程序块Unity就是这样的一个依赖注入容器。Unity包含接口注入,属性注入,构造函数注入,这里具体说明接口注入。明白了一种,其他类似。本文将演示Unity的基本应用。Unity 容器的接口注入基本用法1.引用Unity程序块,Unity1... 阅读全文

posted @ 2010-06-18 17:18 钟湘光 阅读(613) 评论(0) 推荐(0) 编辑

2010年6月4日

WCF大数据量传输

摘要: 对于WCF服务来说,默认情况下,其接收的最大数据量为65535字节。如超过这个范围,就必须修改默认设置。1 客户端。客户端接收的最大数据值由传输协议的MaxReceivedMessageSize确定,示例如下:代码上例中调用服务端的GetPictureFilestreem()契约,获取返回的2进制数据流,写入result.jpg文件。由于数据流的长度大于65535,所以通过设定    quotas... 阅读全文

posted @ 2010-06-04 15:32 钟湘光 阅读(2138) 评论(1) 推荐(1) 编辑

2010年5月21日

Microsoft Visual Studio build Events

摘要: vs支持了Build Events, 但是2003只支持单行的命令,而以后版本可以支持多行命令。我们可以利用Pre-Build and Post-Build events在编译过程中执行DOS命令。1.VS的Build events输入:在command lines中输入DOS批处理命令,vs编译时,就会在编译前(Pre-Build)或编译后(Post-Build)执行自动执行。2.DOS命令。我... 阅读全文

posted @ 2010-05-21 17:44 钟湘光 阅读(945) 评论(0) 推荐(0) 编辑

2010年5月14日

C#键盘消息监听

摘要: windows是基于消息处理的。比如用户按下了键盘,该消息首先由操作系统接收,再将其发送到当前的应用程序处理。事实上,在操作系统把消息发送到当前的应用程序前,你可以截取该消息,这就是我们通常所说的钩子程序。说明:SetWindowsHookEx()设置钩子函数UnhookWindowsHookEx()取消钩子函数CallNextHookEx()把消息传递给下一个钩子,如果是最后一个钩子,则把消息返... 阅读全文

posted @ 2010-05-14 17:53 钟湘光 阅读(5247) 评论(4) 推荐(1) 编辑

2010年5月10日

ClickOnce 应用程序中发布数据文件

摘要: 用vs的ClickOnce发布应用程序时,数据文件并不会自动发布,下面讨论一下怎么手动发布。1.数据文件打包到发布文件: VS资源管理器中,把数据文件加入到项目。这样用ClickOnce发布时,ClickOnce会自动把数据文件打包到发布文件。 在ClickOnce发布构成中,application files选择时,你会看到数据文件已经加入,其类型为Data File2.数据文件访问: 客户端安... 阅读全文

posted @ 2010-05-10 18:10 钟湘光 阅读(878) 评论(0) 推荐(0) 编辑

导航