摘要:
这可能是个老题长谈的问题了,只是在项目中会用到这个效果,所以今天做个记录。大家见了别喷我。在项目中的需求是这样的。打开程序,在屏幕的右下角会显示一个窗体,一般情况下该窗体会隐藏停靠在右边,只露出很小部分,当鼠标移动到这个很小部分时,窗体全部显示,显示过程是从右边滑动到左边,当鼠标离开窗体时,窗体需要隐藏在右边,只露出很小部分,隐藏过程是从左边滑动到右边。实现此类效果我碰到的连个难点是:1、如何判断鼠标离开了窗体?2、窗体显示隐藏过程中效果如何表现平滑(就是给人一种流畅感觉)?1、判断鼠标离开窗体我开始想的是在WndProc方法中来获取鼠标坐标然后根据窗体的Location来判断,可能是小弟愚笨 阅读全文
posted @ 2013-02-04 14:56
HackerVirus
阅读(156)
评论(0)
推荐(0)
摘要:
前天有一网友问及有关设计模式的适配器模式(Adapter)时,说不太好理解。让Insus.NET能否举个简单的例子来说明一下。下面的动画是Insus.NET做出来的效果:上面的演示,两个灯的规格一样,要求输入的电压为15伏。Light1是直接使用,而Light2是使用Adapter(电源适配器)。因此Light1只能接收15伏的电压,小于15伏,会提示电压过低,如果超过了15伏,Light1肯定被烧坏。Light2使用了电源适配器,它接收15伏至220的电压,在这电压范围之内,电源适配器会把电压转为15的电压。小于15伏,会提示电压过低,如果超过了220伏,适配器被烧坏。好,我们程序开始,先创 阅读全文
posted @ 2013-02-04 14:40
HackerVirus
阅读(284)
评论(0)
推荐(0)
摘要:
C语言常常让人觉得它所能表达的东西非常有限。它不具有类似第一级函数和模式匹配这样的高级功能。但是C非常简单,并且仍然有一些非常有用的语法技巧和功能,只是没有多少人知道罢了。指定的初始化很多人都知道像这样来静态地初始化数组:int fibs[] = {1, 1, 2, 3, 5};C99标准实际上支持一种更为直观简单的方式来初始化各种不同的集合类数据(如:结构体,联合体和数组)。数组我们可以指定数组的元素来进行初始化。这非常有用,特别是当我们需要根据一组#define来保持某种映射关系的同步更新时。来看看一组错误码的定义,如:/* Entries may not correspond to ac 阅读全文
posted @ 2013-02-04 14:37
HackerVirus
阅读(295)
评论(0)
推荐(0)
摘要:
Namenode的介绍一个典型的HDFS系统包括一个NameNode和多个DataNode。NameNode作为HDFS中文件目录和文件分配的管理者,它保存的最重要信息,就是下面两个映射:文件名=>数据块数据块=>DataNode列表其中,文件名=>数据块保存在磁盘上(持久化);但NameNode上不保存数据块=>DataNode列表,该列表是通过DataNode上报建立起来的。NameNode启动流程在命令行启动namenode的方法是:bin/hadoop namenode查看bin/hadoop脚本,可以看到最后执行的java类是:org.apache.hadoo 阅读全文
posted @ 2013-02-04 14:34
HackerVirus
阅读(880)
评论(0)
推荐(0)
摘要:
http://www.cnblogs.com/yangcaogui/archive/2013/02/03/2890862.html前段时间利用了一点空闲时间优化了项目中的代码,其中减少Try/Catch是这次优化的重点。主要是参考了老A的大作:如何编写没有Try/Catch的程序,看了一下,老A主要介绍了怎么减少按钮事件中的Try/Catch,不过我们项目是WCF,基本上就没有按钮事件,不过老A也提供了一个很好的思路,那就是利用委托动态的为每个方法加上Try/Catch,有了这个思路之后就很好做了。核心代码: 1 private T InvokeHandler<T>(strin.. 阅读全文
posted @ 2013-02-04 14:26
HackerVirus
阅读(275)
评论(0)
推荐(0)
浙公网安备 33010602011771号