随笔分类 -  技术随笔

自己的技术心得
摘要:C# 非模式窗体show()和模式窗体showdialog()的区别对话框不是模式就是无模式的。模式对话框,在可以继续操作应用程序的其他部分之前,必须被关闭(隐藏或卸载)。例如,如果一个对话框,在可以切换到其它窗 体或对话框之前要求先单击“确定”或“取消”,则它就是模式的。 一、调用 任何窗体(派生于基类Form的类),都可以以两种方式进行显示。 //非模式窗体From qform=new Form(); qform.Show(); //模式窗体Form qform=new Form();qform.ShowDialog(); 一、控制权上的区别 Form.Show创建新窗体后(非模式),立即 阅读全文
posted @ 2013-12-23 11:39 山海雍和 阅读(351) 评论(0) 推荐(0)
摘要:链接:http://www.cnblogs.com/jimson/archive/2010/06/21/Wpfchat.html http://www.cnblogs.com/mgen/p/3236175.html http://www.fengfly.com/plus/view-202939-1.html http://www.pin5i.com/showtopic-25016.html http://www.cnblogs.com/wJiang/archive/2010/12/14/1905660.htmlChart FX for WPF: http://www.evg... 阅读全文
posted @ 2013-11-15 14:13 山海雍和 阅读(8872) 评论(0) 推荐(0)
摘要:1.定义: 类(class),是一种面向对象计算机编程语言的构造,是创建对象的蓝图,描述了所创建的对象共同的属性和方法。(来源Wiki) 接口包含类或结构可以实现相关一组功能的定义。接口可以包含方法、属性、事件、索引器,或者这四个成员类型的任意组合。(来源MSDN)2.类与接口比较:(不考虑抽象类) a.接口支持多重继承、而类只能有一个基类。 b.接口成员只有方法、属性、事件、索引器,而类却拥有更多成员,如字段、构造函数等。 c.接口中的成员仅有定义没有实现,而类中的成员包含实现。 d.接口中的成员都是可见,而类中成员可以对其他类隐藏。 e.接口只能定义实例成员,不能定义静态成员... 阅读全文
posted @ 2013-04-16 10:06 山海雍和 阅读(361) 评论(0) 推荐(0)
摘要:一般接触项目后会用到源代码管理,公司里常用SVN,GitHub没用过,和SVN管理机制不太一样,属于分布式管理,听说偏向开源。言归正传,先说三款软件Visual SVN Server源代码管理服务器Tortoise SVN 源代码管理客户端AnkhSvn VisualStudio插件管理SVN界面图如下:SVN使用教程链接:http://blog.csdn.net/zs8861/article/details/7879594自己搭建个人服务器进行源代码管理时,在执行完教程中的“四、SVN服务器配置项目”步骤后,对自己需要代码管理的解决方案文件夹进行签出操作(相当于把服务器和这个文件夹连接在一起 阅读全文
posted @ 2013-02-19 16:44 山海雍和 阅读(2011) 评论(0) 推荐(0)
摘要:委托较直接调用方法优点:1.相当于用方法作为另一方法参数(类似于C的函数指针)2.在两个不能直接调用的方法中作为桥梁,如:在多线程中的跨线程的方法调用就得用委托3.当不知道方法具体实现什么时使用委托,如:事件中使用委托4.解耦参考链接:http://developer.51cto.com/art/200908/147016.htmhttp://wenwen.soso.com/z/q148429684.htmhttp://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.htmlhttp://bbs.csdn.net/topics/3902 阅读全文
posted @ 2013-02-17 17:05 山海雍和 阅读(2105) 评论(0) 推荐(0)
摘要:用途:1.快速高效的查找与分析字符串2.进行有规律查找比对字符串,也叫:模式匹配3.他有查找、比对、匹配、替换、插入、添加、删除等能力。链接:入门教程http://deerchao.net/tutorials/regex/regex.htm常用正则表达式http://deerchao.net/tutorials/regex/common.htm 阅读全文
posted @ 2013-02-17 09:50 山海雍和 阅读(131) 评论(0) 推荐(0)
摘要:代码模板就是预先定义好的一个代码片段。VS中,我们只要输入模板的名称,然后连按两下TAB,VS就可以给我们把代码片段补充完整。下面列出的这些都是VS2010的预置代码片段流程控制语句估计大家都知道,这是最常用的“两下tab”:关键词生成forfor(int i = 0; i < length; i++){}foreachforeach (var item in collection) {}dodo… while loopwhilewhile (true) {}ifif (true) { }trytry….catch…其实除了这些,VS还可以帮我们做很多事情:关键词生成classclass 阅读全文
posted @ 2013-02-16 09:37 山海雍和 阅读(583) 评论(0) 推荐(0)
摘要:在工作学习中,自己总结的编码习惯(工作几个月,再回头看以前写的代码,真是自己都不愿意看)1.代码块 习惯将一个类中的代码分为:字段、属性、实例构造器、私有方法、公共方法、接口实现、重写基类方法、事件等等,按代码量可继续划分,方便阅读View Code #region 代码块//code1//code2//code3#endregion VS快捷输入:#region+Tab2.名称尽量有意义 类名、字段、属性名为名词,方法名为动词等等3.注释 虽然牛B的代码可以完全用名称就解释了代码,但我没那个水平。 C#的编译器将注释处理到Xml文件中,添加后你就可以在只能提示里面看到自己的注释。 ... 阅读全文
posted @ 2013-02-06 14:07 山海雍和 阅读(225) 评论(0) 推荐(0)
摘要:全球化即多语言,为程序的各个Form中涉及的显示文本设计strings。最好为每种语言指定一个资源文件。资源文件有两种:1.Form内部,即Form所拥有的资源文件,后缀GlobalForm.resx 2.项目内部,右键新建项目资源文件,如:ChinaResources.zh-CHS.resx资源文件存储多种类型,使用Key/Value方式存储。代码中调用资源文件中的值,两种资源文件不同的调用方式1.Form内部 ResourceManager rm = new ResourceManager("命名空间.ChinaResources", Assembly.GetExecu 阅读全文
posted @ 2013-01-05 09:44 山海雍和 阅读(226) 评论(0) 推荐(0)
摘要:ModelVirturalLimits Model的实际区域,固定大小(即Model.GetBoundingBox())ViewVirturalLimits View的实际区域,固定大小ModelVisibleLimits Model的可视区域ViewVisibleLimits View的可视区域,大小(即加载view的控件control的大小)ModelVisibleLimits的区域为ModelVirtualLimits的内部区域ViewVisibleLimits的区域为ViewVirtualLimits的内部区域可视区域变化:调整Model的可视区域,然后通过Tran... 阅读全文
posted @ 2012-12-21 14:58 山海雍和 阅读(206) 评论(0) 推荐(0)
摘要:1.控件做translate变化的时候,MouseDown e的坐标不会随着控件的移动而变化2.控件做scale变换的时候,MouseMove会不断引起BeginPoint的变化,它的变化主要根据缩放的方向来确定,拖拽点的坐标发生变化,相对应拖拽方向的边框垂直距离不变3.Control.Paint事件, 作用于控件重新绘制时4.控件闪烁问题: DoubleBuffered 双缓冲技术/ResizeRedraw 打开保护类型DoubleBufferedView Code 优化:尽可能减少控件的绘制次数 将control在做拖拽缩放时,boundingbox永远是矩形frame是包围图形... 阅读全文
posted @ 2012-12-07 16:59 山海雍和 阅读(195) 评论(0) 推荐(0)
摘要:打开工具-选项-环境-字体和颜色,将“字体”设置成“Consolas”比较好看,将“项目背景”设置成自定义, 将“色调”的参数设置为85,把“饱和度”的参数设置为90,把“亮度”的参数设置为205即可。 阅读全文
posted @ 2012-11-21 15:43 山海雍和 阅读(778) 评论(0) 推荐(0)
摘要:理论C#的交错数组为什么要倒着定义?code: private double[][][] CoordReconstruct(double[] arr ) { double[] subSubArr=new double[2]; double[][] subArr=new double[yAxis+1][]; for (int i = 0; i < yAxis + 1;i++ ) { subArr[i] = subSubArr; }... 阅读全文
posted @ 2012-10-12 12:14 山海雍和 阅读(187) 评论(0) 推荐(0)
摘要://单独的资源文件this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); //总体的资源文件this.Icon = Properties.Resources.VisualStudio; 阅读全文
posted @ 2012-10-10 10:12 山海雍和 阅读(1469) 评论(0) 推荐(0)
摘要:MSDN的技术资源库是珍贵的.Net学习资源,只不过其中内容太多,只能定性为一个大型技术文档。像一些有名的技术书籍,应该是作者在学习之后,按照自己的理解将其整理成书。VS中的帮助库即可囊括这个大型文档,在查找使用时比网页更加方便快捷。下面是安装说明:Visual Studio 2010 sp1Help Library Manager安装说明http://blog.csdn.net/cexu2008/article/details/5526570http://www.cnblogs.com/myfreedom614/archive/2012/04/23/2466937.html 阅读全文
posted @ 2012-09-06 13:13 山海雍和 阅读(340) 评论(0) 推荐(0)
摘要:注释:(摘抄,自己学习用) 了解一本书---> .Net设计规范在C#中,程序注释有三种。关于程序注释需要理解的是:注释是给阅读程序的人看的,不是给编译器或操作系统执行指令功能的,没有这个作用。三种注释:1. //单行注释;2. /* 多行或一段注释 */3. ///<summary> ///这是对类的说明 ///</summary> ///<summary> ///这是对方法的说明 ///</summary> ///<param name=“args”></param>指示代码折叠指令 #region 这是第一段代 阅读全文
posted @ 2012-08-30 14:10 山海雍和 阅读(2271) 评论(0) 推荐(0)
摘要:序列化Xml根节点 XmlRoot 根节点class下包含元素XmlElement、属性XmlAttribute、文本XmlTextXmlElement类型为基础数据类型或自定义Class类型(可包含文本或多个元素、属性) XmlAttribute类型为基础数据类型、XmlText类型stringView Code 阅读全文
posted @ 2012-08-17 12:59 山海雍和 阅读(159) 评论(0) 推荐(0)
摘要:break:跳出判断语句、循环return:跳出函数goto:跳转标记点Xml遍历某一节点值 public class XmlHelper { public string nodeValue = "kong"; public string getValue() { XmlDocument xml = new XmlDocument(); xml.Load("ResqmlTestXml.xml"); XmlNode root = xml.SelectSingleNode("t... 阅读全文
posted @ 2012-08-10 09:49 山海雍和 阅读(474) 评论(0) 推荐(0)
摘要:char以ASCII码的形式存储 //在HDF5中存放string数据 对的事看错了 阅读全文
posted @ 2012-07-17 17:21 山海雍和 阅读(543) 评论(0) 推荐(0)
摘要:.. 上一级~/根目录 阅读全文
posted @ 2012-05-21 00:04 山海雍和 阅读(169) 评论(0) 推荐(0)