自定义控件学习(一)
摘要:最近,看着公司自定义的控件,觉得自己应该学习这些东西,这样有助于自己基础知识的巩固,于是试着还原公司的代码,看自己是否有这样的功力。 公司的控件大致有这样的用途:将控件放一个容器中,通过给自己定义控件绑定数据库中表的字段,然后根据业务的需求自动生成增删改查Sql语句,程序员可以将重点放在业务的分析处理中,尽可能的少写SQL语句。先不说这样的方法好不好,抱着学习的思想,我于是试着还原这些代码。 现在想一下实现如此的功能:在自定义的一个容器控件中,放入自定义控件,有TextBox,Label,CheckBox等,然后,点击Button,自动生成AddSql、UpdateSql、SearchSq..
阅读全文
最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等
摘要:很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。一、校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 8
阅读全文
C#:ref和out的联系及区别。
摘要:之前学习C#时候就遇到了这个问题,不过当时没有深究。昨晚想到这个问题时候自己尝试敲了敲代码,结果从运行的结果来看,越看越乱。在查看了一些资料的基础上,自己总结了一下。可能会有点乱,但是自己总结出来的东西。一:ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。也即是说,在方法中对参数的设置和改变将会直接影响函数调用之处(代码①及②)。无论是函数的定义还是调用时均不可忽略关键字ref.可以对比代码:代码①: 1 class Program 2 { 3...
阅读全文
自己用C#写的一个俄罗斯方块的小程序(附源代码)。
摘要:前两天突发奇想,想要检验一下工作这一年多以来,编程思想是否有进步,以及对c#的掌握程度,所以拿俄罗斯方块来试刀。这个俄罗斯方块从开始设计到最后完成,没有参考网上任何的设计思想,完全自己一点点写的,碰到困难了自己想解决方法,很多代码可能有冗余,思想方面也不够成熟,唉,编程还亟待提高。先把源码链接贴上,剩下文章中的废话可以不用看~~[======源码下载链接======]大概说一下想法。针对俄罗斯方块一个个点,肯定是要用二维数组作为原形的。1.因为想要前台后台分离嘛,所以写了Class_ControlArray这个类,里面主要包含了一些对数组的操作。这个类主要提供对外的接口。2.Class_Pol
阅读全文
C#一步一步实现插件框架的示例(三)
摘要:C#一步一步实现插件框架的示例(三)C#一步一步实现插件框架的示例(一)C#一步一步实现插件框架的示例(二)前两篇我们已经实现了功能按钮与界面的分离,其实也只是工具栏与其执行的功能代码与界面的分离,其作用还非常有限,因为他无法获取到主窗口的任何东西,无法进行操作,比如主界面有一个TextBox,那么这个按钮还不能访问到,也无法对其进行操作。我们今天就来完成View的设计,让工具栏的按钮能够访问窗口中的内容,同时窗口中的内容也是根据插件来自动生成。首先我们来实现View插件的生成代码。View即为主窗口中的一个mdi窗口生成一个接口:IViewContent?publicinterfaceIVi
阅读全文
C# 版的12306订票工具
摘要:发个C# 版的12306订票工具,原本限于本群群内用户用的2013-01-26 16:19 by ALong(阿龙), 2719 阅读,40评论,收藏,编辑好久没弄博客了,最近都忙着抢票,我也发个C# 版的12306订票工具,已更新到1.4.1版了。原本限于群用户用的,今天铁道部把网站验证码升级了,难度加强了,以前可以自动识别,现在已用不了。反正也影响不了,直接发出来了。本程序最早于去年春节时因一票难求系群内作者草人所写,今年因铁道部网站相关变化我重新拿出来修了修,完善了相关信息.....==== C#技术交流群1:57218890==== C#技术交流群3:112546812声明:任何修改本
阅读全文
C# 分析图片的主颜色
摘要:最近工作上的需要,要对40多万张照片进行主颜色的区分计算,有时候知识就是力量,若40万张图片靠人工来识别主颜色,那不知道需要多少人分辨多久才可以做好,而且还容易分辨出错,若这个事情能用程序来处理又快又好,程序足足写了1周才稳定下来,程序跑了1天就把40万张照片的主颜色全部计算出来了,技术就是力量的价值观又一次得到了验证。 朋友多好办事,其中得到一个好朋友的帮助,改进了颜色区分判断的函数,也对工作起了很大作用。朋友多好办事、平时真需要多与各种朋友往来。 分析图片的主颜色区间过程中遇到的主要难题:1: 网上类似的C#的参考代码比较少。2: 我们本身不是研究图像处理技术的。3: 需要把40万张图片进
阅读全文
浅复制(Shallow Copy)与深复制(Deep Copy)
摘要:复制:对象的复制是生成一个与指定对象完全一样的新对象,实现的方式根据定义可以知道,新建一个类型相同的对象,然后复制原对象的每一个成员和字段。浅复制: class Program { static void Main(string[] args) { ClassA A = new ClassA(); CloneObj clone = new CloneObj(); ClassA newA= clone.CloneA(A); } } public class Clas...
阅读全文
C# 汉字转拼音
摘要:汉字转拼音,网上的资料不少,一般都是按区位码与拼音关系查表得到。但是很少有人注意一下信息:GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个。 分区表示 GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。 1)01-09区为特殊符号。 2)16-55区为一级汉字,按拼音排序。 3)56-87区为二级汉字,按部首/笔画排序。 4)10-15区及88-94区则未有编码。 也就是说二级汉字与拼音不存在联系。这样网上大部分汉字转拼音类只能正确获取部分汉字的拼音(一级汉字).只有小数的3000多一点汉字.而二级汉字根本查...
阅读全文
微信公众平台消息接口开发
摘要:微信平台 消息接口启用作者:http://txw1958.cnblogs.com/本系统教程以微信公众平台应用天气神(账号WeatherGod)为例,讲解微信接口开发过程。欢迎大家关注该账号,二维码见底部图。使用前提条件:拥有一个公网上的HTTP服务器主机空间,具有创建目录、上传文件等权限。免费的也可以,但须有二级域名。一、注册微信公平平台账号地址:http://mp.weixin.qq.com/过程略。二、上传代码以下代码是消息接口认证代码,将下列PHP代码保存为index.php(其中的mytoken改为你想要的的token名称),并上传到HTTP服务器指定的目录中,<?phpdef
阅读全文
原创C# 各种通用类集合转载
摘要:一直以来,搜藏了很多通用类,平时用到的情况也很多。花了好多天时间整理了一下。最重要是做了个API出来(加Comment真的是个体力活啊)目前有的 Class如下,我都统一命名过了。需要的拿走吧。虽然API和DLL绝对是独一份,但是内容其实是网上的,我只做了初步的筛选和测试,如果有问题帮忙通知一下。Chm得直接在网上打开是看不到的,所以请先下载到本地,谢谢...想要源码的同学,可以自己用reflector等类似工具,dll没加密,个人推荐使用 ILSpy, 查看源码那叫一个方便。项目我就不发出来了,注释加的我手软,不想被 “有心人” 剽窃了。真心想一起扩展的,可以找我要:)01.程序配置管理辅助
阅读全文
通用软件注册功能之建立有效的软件保护机制
摘要:众所周知,一些共享软件往往提供给使用者的是一个功能不受限制的限时使用版,在试用期内使用者可以无限制的使用软件的全部功能(只是可能会出现提示使用者注册的窗口),试用期一过部分(或全部)功能失效,要想继续使用只能向作者索取注册码(或注册文件)完成对软件的合法注册,注册后的软件将解除一切使用限制。如果您也开发出一个有价值的作品,是否也希望为自己的软件增加一个这样的功能呢?当前对于.NET反编译的问题不在本文讨论之内,相关文章已经很多!本文我们就一起探讨软件注册功能的实现。 实现软件的注册功能方法很多,最需要考虑的就是不能轻易的让使用者破解,在这里,我就谈谈“.NET快速开发整合框架(RDIFrame
阅读全文
Winform开发框架之通用短信邮件通知模块
摘要:Winform开发框架之通用短信邮件通知模块在做Winform项目的时候,一直有一个梦想,就是希望把所有的组件模块组合即可组装成一个完整的项目系统(或者至少可以大部分完成)。在之前介绍的《Winform开发框架之通用附件管理模块》里面介绍了我的Winform开发框架的版图,里面包含了我对Winform模块化的一系列规划的组件,组件尽可能是适用于大多数的业务环境组合,以达到最大程度的重用和高效开发。Winform开发框架是我集多年开发经验以及积累而成,很多细节之处润物细无声,但却是精粹心得所至,很多地方都希望是精益求精,力求把框架中的模块当成一把把神兵利器,用到的时候,马上就可以派生用场解决问题
阅读全文
【开源】C#自定义控件库
摘要:扯淡:活在天朝的程序员真的很辛苦!元芳,你觉得呢?对于最近的火车票插件的事件,我觉得这种事仁者见仁智者见智,每个人都有自己的想法,没什么可说的,但是由此而造成github网站被墙,对此,我只想说声:GXB 你TMD这次过分了 !或许你会说,不久网站被墙了嘛,多大点的事呀,忍忍就好。是的,活在天朝最基本的要素就是忍,我也承认我素质低下了,说我心胸狭隘也好,心高气傲也罢,我都认了。但是这次真的让我知道了什么叫做所谓的公平,订票助手的倪超说过这句话:用自己的方式来让世界公平一点。看到这句话,我笑了,如果此时的他就在我面前的话,我会猛地摇醒他:超哥......超哥.......别睡了........该
阅读全文
C#截图
摘要:公司里不知道搞了网络什么限制,我这个机器自古以来上午都登不上腾讯QQ客户端,每次都是上午用WebQQ,中午吃完饭回来才能登客户端。WebQQ用起来慢,而且卡不说,有时候截个图都没有客户端来的便捷。从网上虽然下载了一些截图软件,用起来都不大方便,摸索着自己从网上找了些关于C#截图方面的核心代码,打造了一款属于自己的Winform截图工具。点此下载 自己做的这款截图工具自我感觉用起来挺好的,大概介绍下使用方法,抓图的过程和其他的一样,抓完图后,双击左键复制到粘贴板,也可以在菜单里面操作,按ESC退出当前截图。 先上个主界面和截图界面如下(截图软件就这么简单,自己闲来没事,在winform上模...
阅读全文
C# 使用 Binder 类自定义反射
摘要:在利用 Type 类进行反射时,经常用到 GetMethod 和 GetProperty 反射方法与属性,或者使用 InvokeMember 直接调用类型成员。这些方法都具有一个 System.Reflection.Binder 类型的 binder 参数,而这个参数一般都是设置为 null 的,很少使用。事实上,这个 binder 参数是很强大的,它可以几乎完全控制反射的工作方式(这里用几乎,是因为它受到了 RuntimeType 实现时的一些限制),只不过默认情况下使用的 System.DefaultBinder 类已经足够的使用了,因此不用太过于在意这个参数。下面将会以我实现的 Powe
阅读全文
Yale CAS + .net Client 实现 SSO
摘要:第一部分:安装配置 Tomcat第二部分:安装配置 CAS第三部分:实现 ASP.NET WebForm Client1. 下载.NET CAS client。.NET CAS Client 下载地址:https://wiki.jasig.org/display/CASC/.Net+Cas+Client下载“dotnet-client-1.0-Src.zip”并解压缩。2. 配置 CAS DotNetClient以管理员身份启动Visual Studio(目的为了随后可以直接将网站发布到IIS),打开“DotNetCasClient.vs2010.sln”解决方案。(1)项目“DotNetCa
阅读全文
正则表达式
摘要:正则表达式 地狱-天堂之说,源自老程序员的话.老程序员告诉我们,没有正则表达式就像地狱一般,有了正则表达式我们就像进了天堂一样.好,我们下面看这么几个需求:需求1:“192.168.10.5[port=8080]”,这个字符串表示IP地址为192.168.10.5的服务器的8080端口是打开的,请用程序解析此字符串,然后打印出“IP地址为***的服务器的***端口是打开的”。需求2:“192.168.10.5[port=21,type=ftp]”,这个字符串表示IP地址为192.168.10.5的服务器的21端口提供的是ftp服务,其中如果“,type=ftp”部分被省略,则默认为http服务
阅读全文
LINQ几个主要操作
摘要:先把准备工作做好,这步可以不看,创建一个数据库和两张表,下面是创建语句,很简单,大家都看得懂.第一步:创建表和初始化数据--创建数据库Studentcreate database Studentgouse Student--创建数据表T_Studentcreate table T_Student(ID int not null identity primary key,Name varchar(20) not null,EnglishName varchar(20) not null,Age int,Birthday date,Country varchar(50))--创建数据表T_Scor
阅读全文
C#cookie自动获取工具发布
摘要:虽然说很多浏览器提供了这个工具,但是我感觉还是没有自己的用着方便 ,因为好些人还是不会合作的,那么今天我写一个简单的,而且获取是最全的工具给大家使用,本工具和其它类与工具一样会不断更新,希望大家关注,下载工具http://www.cckan.net/thread-1967-1-1.html本工具的源码暂时不提供,等到正式版时会把代码发布给大家。我们一起来看看工具吧只要你输入一个URL就会自动获取他的cookie下面我就以本站为例子大家可以看看效果-------------------------------------------------------------签名部分----------
阅读全文