摘要: silverlight的一些功能真让我感到惊奇就拿双击事件来说一下写一个简单的例子后台代码 private void MouseDoubleEvent(object sender, MouseButtonEventArgs e) { if (e.ClickCount == 2) { MessageBox.Show(e.ClickCount.ToString()); } }MouseButtonEventArgs可以获取鼠标点击的事件如果这样触发不了事件就在初始化窗体的时候... 阅读全文
posted @ 2013-11-05 09:57 li-peng 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 之前一直做WPF现在开始接触Slilverlight感触很多。今天做一个Button要求有两个图片,button默认有一个图片,鼠标over时用另一个图片,用wpf做的时候写一个template很简单,但silverlight和wpf写起来不一样记录一下。大概思路是两个image鼠标MouseOver的时候一个Visible一个Collapsed写的是一个自定义控件,代码和皮肤分离,很简单的一个demo代码下载:ImageButtonTest.rar先写一个继承自button的imagebutton类 1 using System; 2 using System.Collections.Gen 阅读全文
posted @ 2013-11-01 13:34 li-peng 阅读(2009) 评论(2) 推荐(1) 编辑
摘要: Caliburn.Micro学习笔记目录用了几天时间看了一下开源框架Caliburn.Micro这是他源码的地址http://caliburnmicro.codeplex.com/文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下学习Caliburn.Micr... 阅读全文
posted @ 2013-10-14 11:22 li-peng 阅读(5246) 评论(0) 推荐(4) 编辑
摘要: 用Outlook时最让我感觉不爽的就是不小心点了关闭按钮就会把Outlook关闭。我们用软件的时候都希望软件有一个关闭时最小化功能,更希望Outlook也有这个功能但让我很失望的是把设置里看了一个遍也没找到这个设置,在国外的一个网站上看到了一个com组件可以让Outlook关闭时最小化给大家分享一下这是用到的dll里边有32位和64位两种,可根据你自己的机器选择KeepOutlookRunning.rar我用的是outlook 2013,先点击文件选项进入再打开选项窗体 找把加载项,最下边的CoM加载项我们点转到由于我的已经加载过了就已经有keep outlook Runing Com add 阅读全文
posted @ 2013-09-30 09:41 li-peng 阅读(19459) 评论(14) 推荐(5) 编辑
摘要: 很简单的一个wpf键盘记录器这个程序我一样用了全局勾子,之前用的都是winform上运行了,前一段时间在国外的论坛上逛看到了一个wpf能用的就做了一个小程序记录一下,为了方便大家直关的看我在页面上放了一个textbox,用的时候不会这样一般都是保存到一个文本里呵呵不能做坏事有三个主要的类 /// /// Raw keyevent handler. /// /// sender /// raw keyevent arguments public delegate void RawKeyEventHandler(object sender, RawKe... 阅读全文
posted @ 2013-09-18 15:04 li-peng 阅读(1087) 评论(0) 推荐(0) 编辑
摘要: 做项目的时候根据需求,WPF现有的控件不能完全满足我们的需求,很多时候我们需要对现有的控件做一下加工。最简单的我们可能会把Tree转换成List形式有的叫Grid形式就像下图一样今天我先做一个完全用样式加工的例子,有时间我再把它做深加工写成一下通能形式我们要先把treeView重写一下public class TreeListView : TreeView { //这两个默认的是TreeViewItem protected override DependencyObject GetContainerForItemOverride()//创建或标识用于显示指定项... 阅读全文
posted @ 2013-09-09 11:58 li-peng 阅读(7809) 评论(14) 推荐(8) 编辑
摘要: 河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时北越的首都,即现在的胡志明市;1883年法国数学家Edouard Lucas曾提及这个故事,据说创世纪时Benares有一座波罗教塔,是由三支钻石棒(Pag)所支撑,开始时神在第一根棒上放置64个由上至下依由小至大排列的金盘(Disc),并命令僧侣将所有的金盘从第一根石棒移至第三根石棒,且搬运过程中遵守大盘子在小盘子之下的原则,若每日仅搬一个盘子,则当盘子全数搬运完毕之时,此塔将毁损,而也就是世界末日来临之时。我们来把这个故事变成一个算法:把三个柱子标为ABC 如果只有一个盘 阅读全文
posted @ 2013-09-05 15:13 li-peng 阅读(7974) 评论(7) 推荐(2) 编辑
摘要: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。二分查找法是已经排好顺序的集合,要从集合的中间开始查找,如果这个项小于我们要查找的数,则这个项前边的所有数都小于我们要查找的对象就无需再浪费时间去查在前边的数查找;如果搜寻的数天于我们要查找的对象那么这个数的后边的数都大于我们要查找的对象,则后边的数我们也不用再去查找了。下边我会用c#和c++两种语言给出代码c#二分查找代码 static void Main(string[] args) { in... 阅读全文
posted @ 2013-09-04 14:07 li-peng 阅读(7264) 评论(0) 推荐(2) 编辑
摘要: 指针数组 :就是指针的数组,数组的元素是指针;数组指针:就是指向数组的指针。简单举例说明: int *p1[10]; 声明了一个数组,数组的元素是int型的指针。 int (*p2)[10];声明了一个指针, 指向了一个有十个int元素的数组。这两种写法主要是因为运算符的优先级, 因为[]的优先级比*高。第一种写法:p先和[]结合,所以是一个数组,后与*结合,是指针数组。第二种写法:()的优先级比[]高,*号和p2构成一个指针的定义,指针变量名为p,int 修饰的是数组的内容,即数组的每个元素。数组在这里并没有名字,是个匿名数组, 那现在我们清楚p 是一个指针,它指向一个包含10 个i... 阅读全文
posted @ 2013-09-03 15:40 li-peng 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 有的时候我们要从数据库里把数据组织成树结构再展现到页面上像下面这样今天我们用Group 和Grouping实现它,并总结一下它俩。先看一下概念,再用代码一点一点去理解它们,最后我会给出完整的代码Group By :语句用于结合合计函数,根据一个或多个列对结果集进行分组。Grouping :指示是否聚合 GROUP BY 列表中的指定列表达式。 在结果集中,如果 GROUPING 返回 1 则指示聚合; 返回 0 则指示不聚合。 如果指定了 GROUP BY,则 GROUPING 只能用在 SELECT 列表、HAVING 和 ORDER BY 子句中。ROLLUP :生成简单的 GROUP . 阅读全文
posted @ 2013-09-03 11:15 li-peng 阅读(10771) 评论(5) 推荐(7) 编辑