摘要: 一直从事web应用的开发,总感觉是要找个时间学一下winform的开发,恰好年末公司项目基本结束就抽空学一下winform,下面是我一周的学习成果——拼图游戏。 先来个效果图: 图1 图2实现功能:1.鼠标点击和键盘方向键操作拼图移动;2.计分;3.指定图片文件即可自动切成拼图块;4.可自定义拼图数目。图1是原型,图2是最后结果!代码中通过GameManager类作控制,具体的生成拼图、操作拼图的处理都封装在BtnProducer类中,BtnProducer有两个子类分别是对... 阅读全文
posted @ 2012-01-14 12:48 ^_^肥仔John 阅读(892) 评论(0) 推荐(0) 编辑
摘要: 实例效果:1.点击“启动线程”会启动一个线程t每隔2秒在listbox上插入一条新记录。2.点击“关闭线程”会停止线程t,但不是马上停止而是等待线程t当次循环的工作后再结束。Form1.cs 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 us 阅读全文
posted @ 2012-01-11 14:41 ^_^肥仔John 阅读(883) 评论(0) 推荐(0) 编辑
摘要: 一直从事Asp.Net的开发,而C/S的开发方面简直是一片空白,于是从上星期开始就痛下决心开始学习WPF。我采取的策略是网上看基础资料+做简单的demo练习+网上查资料。从csdn上下了个比较不错的基础讲解文档,花了几天时间终于把它看完,算是有个基本了解吧,今天开始写些小练习。 这个系列主要是用来记录自己学习WPF的心路历程,以实例为主配合原理和注意点的说明,有纰漏之处请大家多多指正!!^_^实例1——倒计算器 最终效... 阅读全文
posted @ 2011-12-31 16:53 ^_^肥仔John 阅读(601) 评论(0) 推荐(0) 编辑
摘要: foreach遍历集合好处很多,因为.net framework在foreach中已经做了try...catch和dispose的操作。那么如果想自定义一个集合并且该集合能使用foreach来遍历,一般做法是实现System.Collections.IEnumerable和System.Collections.IEnumerator接口。其实只要在集合类中实现无参数的返回IEnumerator的GetEnumerator方法就可以了。如下面代码 1 public class MyList 2 { 3 private string[] list=null; 4 public My... 阅读全文
posted @ 2011-12-22 15:14 ^_^肥仔John 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 参考资料:http://www.cnblogs.com/fsjohnhuang/archive/2011/12/17/2291200.html 因为使用ObjectDataSource自带的缓存机制无法实现排序功能,苦苦寻觅终于找到了解决方案。参考后觉得还是自己实操一下比较安心,下面是对《GridView实战二:使用ObjectDataSource数据源控件》的改进!! CL代码: 1 public class CL 2 { 3 private OdsDataManager om = new OdsDataManager(); 4 private static string[... 阅读全文
posted @ 2011-12-19 10:02 ^_^肥仔John 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 前言: ObjectDataSource数据源控件优点甚多,确实令人爱不惜手,但不支持重绑定这一项确实让人失望。下面的实战二将通过ObjectDataSource配合GridView来实现删、改、分页、排序,并分析使用cache后排序失灵的原因。实战:1.效果:图1.显示状态图2.编辑状态2.代码:.aspx 1 <asp:ObjectDataSource runat="server" ID="ods" EnablePaging="true" TypeName="OdsDataManager" 2 Selec 阅读全文
posted @ 2011-12-17 15:30 ^_^肥仔John 阅读(1493) 评论(0) 推荐(0) 编辑
摘要: 前言: 在某次公司面试时被问到对GridView操作的熟悉程度,在那之前一直用Repeater内嵌table标签对GridView操作确实很少,于是最近在项目的后台上对GridView进行了一番实操,本文和后面的另一篇GridView实战二:使用ObjectDataSource数据源控件均是这段时间的一些总结。 GridView优点就是集数据绑定、分页、排序、删、改于一身,提高了开发效率;缺点嘛,就是运行效率低,并且它本身不带添加功能。于是GridView用于后台开发是一个不错的选择,而前台页面还是少用为妙咯。实战一: 1.本次实战效果图如下:图一.展示状态图二.编辑状态图三.添加记录状... 阅读全文
posted @ 2011-12-17 11:30 ^_^肥仔John 阅读(2695) 评论(0) 推荐(0) 编辑
摘要: 效果:需求:1.记录循环滚动;2.每组记录之间不能有留白;3.每条记录上移到容器的顶部时要停顿一下;4.鼠标移入容器时停止滚动,移出时继续滚动。曾想用的实现方法:1.使用Marquee:本来想用Marquee搞定,使用十分方便,但不满足需求2,3,加上只能用于IE浏览器。。。。。。。。2.使用Jquery:我没有学过Jquery,只是简单调用同事的方法,但发现居然出现语法错误,同事也只是从网上拷过来不懂得哪里出错。。。。。。于是只好硬着头皮自己写一个吧!我的思路是:当最顶的记录完全移出容器时,把该记录移动到所有记录的底部(图很丑但很温柔^_^)下面是实现:(ie6、7、8,chrome都OK! 阅读全文
posted @ 2011-12-15 14:52 ^_^肥仔John 阅读(916) 评论(0) 推荐(0) 编辑
摘要: 之前一直用SqlServer,现在因公司需求改用MySql,但操作数据的DbHelper依然用回原来那个,但当用回@Parameter设置sql参数时却发现值无法传达到数据库,原来MySql搞特殊化用的是?号。网上说用?Parameter代替@Parameter,但试了还是不行,最后得出结论是直接用?号就好了,下面是例子:insert into table_name(name,intro) values(?,?)cmd.Parameters.Add("1","value1");cmd.Parameters.Add("2"," 阅读全文
posted @ 2011-12-14 11:03 ^_^肥仔John 阅读(1929) 评论(0) 推荐(0) 编辑
摘要: Asp.net中的服务器控件都启用了viewstate,虽然方便了开发人员,但页面大小及性能上确实有所影响,对于无需viewstate的控件及页面可以直接把控件或页面的viewstate禁用掉,但对于必须的viewstate我们可以采取另一种方式来处理——压缩。判断是否需要viewstate压缩准则是,内网系统不必考虑压缩(网速够快还闲着没事消耗服务器CPU资源干啥啊。。。),对外系统根据viewstate长度选择性进行压缩(当viewstate长度大于某个值时进行压缩,太短还压缩得不偿失哦。。。) 好了,下面具体展开吧! 一,viewstate压缩: 页面的生存周期里保存views... 阅读全文
posted @ 2011-12-09 15:50 ^_^肥仔John 阅读(1171) 评论(1) 推荐(1) 编辑