随笔分类 -  Programming

.Net(C#, WPF), OpenGL
摘要:当有大量数据需要计算、显示在界面或者调用sleep函数时,容易导致界面卡死,可以采用多线程加委托的方法解决using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Threading;namespace MutiThread{ public partial class Fo... 阅读全文
posted @ 2013-08-19 15:44 马语者 阅读(19043) 评论(0) 推荐(6) 编辑
摘要:http://binarysandbox.com/template/index.html 阅读全文
posted @ 2013-08-19 11:25 马语者 阅读(227) 评论(0) 推荐(0) 编辑
摘要:HTML Agility Pack:簡單好用的快速 HTML ParserCodeplex 軟體套件(Package)資訊套件名稱HTML Agility Pack作者Simon Mourier目前版本1.4.0 Beta 2URLhttp://htmlagilitypack.codeplex.com/使用難易度中使用此套件時可用的輔助工具HAP Explorer(可在上述 URL 找到)Internet Explorer 8 開發者工具基礎知識HTMLXML 和 XPath最好有使用過 System.Xml 命名空間中的 XmlDocument 類別,以及其 SelectNodes() 或 阅读全文
posted @ 2013-08-17 15:53 马语者 阅读(2213) 评论(1) 推荐(0) 编辑
摘要:Visual Studio 2010如期发布了,我怀着迫不及待的心情马上下载了最新的ISO来安装和感受一下。.NET Framework 自从 2002 年发展至今,已经历了好几个版本,1.0, 1.1, 2.0, 3.0, 3.5 等不同的版本更替,.NET Framework 的Redistributable Package也愈来愈大,到了 .NET Framework 3.5 SP1 时已经膨胀到 231MB,除非软件本身就很大,不然对于 .NET 软件的Redistribute是相当不利的,除非客户端本身就有安装 .NET Framework,否则几乎都要夹带一个 .NET Frame 阅读全文
posted @ 2013-08-17 15:24 马语者 阅读(1969) 评论(0) 推荐(0) 编辑
摘要:OPCServer KepServer; OPCGroup KepGroup; bool opc_connected; string remoteServerName = "KEPware.OPCSampleServer"; string remoteServerIP = ""; public OPCManagerService() { try { KepServer = new OPCServer();... 阅读全文
posted @ 2013-08-13 11:54 马语者 阅读(12678) 评论(0) 推荐(2) 编辑
摘要:1.1.1 摘要C#是一门强类型语言,一般情况下,我们最好避免将一个类型强制转换为其他类型,但有些时候难免要进行类型转换。先想想究竟哪些操作可以进行类型转换(先不考虑.NET提供的Parse),一般我们都有以下选择:使用as操作符转换,使用传统C风格的强制转型使用is来做一个转换测试,然后再使用as操作符或者强制转1.1.2 正文正确的选择应该是尽可能地使用as操作符,因为它比强制转型要安全,而且在运行时层面也有比较好的效率(注意的是as和is操作符都不执行任何用户自定义的转换,只有当运行时类型与目标转换类型匹配时,它们才会转换成功)。现在我们通过一个简单的例子说明as和强制转换之间的区别,首 阅读全文
posted @ 2013-07-25 11:03 马语者 阅读(3047) 评论(0) 推荐(0) 编辑
摘要:代表(delegate):它是C#语言里面的函数指针,代表可以指向某一个函数,在运行的时候调用这个函数的实现。下面来看看它的实现步骤:声明一个delegate对象。实现和delegate具有相同参数和返回值的函数实现(可以是静态和非静态的)。产生一个delegate对象的时候,把你刚刚实现的函数作为参数传给他的构造函数。请看下面例子:using System;using System.Collections.Generic;using System.Text;namespace UsingDelegate{ public delegate void MyDelegate(string myde 阅读全文
posted @ 2013-07-15 08:52 马语者 阅读(2181) 评论(0) 推荐(0) 编辑
摘要:为了将方法声明为可以接受可变数量参数的方法,我们可以使用params关键字来声明数组,如下所示:publicstaticInt32Add(paramsInt32[]values){Int32sum=0;for(Int32x=0;x<values.Length;x++){sum+=values[x];}returnsum;}只有方法的最后一个参数才可以标记params,该参数必须标识一个一维数组,但类型不限。对方法的最后一个参数传递null或者0个数目的数组的引用都是合法的,如下面代码调用上面Add方法,编译正常,运行正常,和期望一样结果为0:publicstaticvoidMain(){ 阅读全文
posted @ 2013-07-13 17:26 马语者 阅读(546) 评论(0) 推荐(0) 编辑
摘要:分部类型定义允许将类、结构或接口的定义拆分到多个文件中。在 File1.cs 中:namespace PC{ partial class A { }}在 File2.cs 中:namespace PC{ partial class A { }} 阅读全文
posted @ 2013-07-13 10:26 马语者 阅读(194) 评论(0) 推荐(0) 编辑
摘要:protected关键字是一个成员访问修饰符。受保护成员在它的类中可访问并且可由派生类访问。有关protected与其他访问修饰符的比较,请参见可访问性级别。仅当访问通过派生类类型发生时,基类的受保护成员在派生类中才是可访问的。例如,请看以下代码段:// protected_keyword.csusing System;class A{ protected int x = 123;}class B : A{ static void Main() { A a = new A(); B b = new B(); // Error CS15... 阅读全文
posted @ 2013-07-13 09:49 马语者 阅读(1459) 评论(0) 推荐(0) 编辑
摘要:在C#中使用关键字 abstract 来定义抽象类和抽象方法。不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例。"一个包含一个或多个纯虚函数的类叫抽象类,抽象类不能被实例化,进一步一个抽象类只能通过接口和作为其它类的基类使用."-C++ Programming Language by Stroustrup Chapter13.2抽象类能够被用于类,方法,属性,索引器和事件,使用abstract 在一个类声明中表示该类倾向要作为其它类的基类成员被标示成abstract,或被包含进一个抽象类,必须被其派生类实现。abstractclas 阅读全文
posted @ 2013-07-13 09:35 马语者 阅读(317) 评论(0) 推荐(0) 编辑
摘要:类、变量常用头:[XmlRootAttribute]:对根节点的描述,在类声明中使用 如:下例的Html类[XmlType]:对节点描述,在类声明中使用 如:下例的Head类[XmlElement]:节点下内部节点描述,如果对数组标识,是对数组单元描述 如:下例的Html.body,Head.title,Head.metas和Head.scripts数组...[XmlAttribute]:节点下内部属性描述 如:下例的Meat.httpequiv,Meat.content,Script.src,Script.type,...[XmlArrayItem]:数组单元项描述 如:下例的Bo... 阅读全文
posted @ 2013-07-09 18:37 马语者 阅读(2207) 评论(0) 推荐(1) 编辑
摘要:Building a simple "hello world" Ogre application can take several seconds on a modern machine. Even when you haven't added your own code yet.This waste of timebreaks your workflowmakes experimentation difficultis unnecessaryThe solution: use precompiled headers in Visual Studio.On an a 阅读全文
posted @ 2013-06-27 09:52 马语者 阅读(644) 评论(0) 推荐(0) 编辑
摘要:在工程上单击右键,属性,C/C++,最后一项,命令行,在里面/Zm200或者编译器提示的大小解决. 阅读全文
posted @ 2013-06-27 09:49 马语者 阅读(5239) 评论(0) 推荐(0) 编辑
摘要:在网上找了好多方法都不行,最后用下面方法解决了。修改VS目录下的\VC\bin\cl.exe 的兼容性设置,取消兼容模式和以管理员身份运行即可。 阅读全文
posted @ 2013-06-27 09:06 马语者 阅读(5524) 评论(0) 推荐(0) 编辑
摘要:Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office。也可说是一种应用程式视觉化的Basic Script。本文总结了一些VBA的常用代码。 阅读全文
posted @ 2013-03-31 10:46 马语者 阅读(993) 评论(0) 推荐(0) 编辑
摘要:本文以Canvas为例,介绍一下在C#中获取鼠标和键盘事件的方法。使用这些事件前,需要添加引用using System.Windows.Input。 阅读全文
posted @ 2013-03-06 19:02 马语者 阅读(9070) 评论(0) 推荐(0) 编辑
摘要:使用C#编写了个控制显示器开关的程序。 阅读全文
posted @ 2013-03-05 16:37 马语者 阅读(1812) 评论(1) 推荐(0) 编辑
摘要:本文探讨一下C#中引用变量和数值变量的区别。 阅读全文
posted @ 2013-03-05 12:33 马语者 阅读(2984) 评论(0) 推荐(0) 编辑
摘要:WPF中的变形(RenderTransform)类是为了达到直接去改变某个Silverlight对象的形状(比如缩放、旋转一个元素)的目的而设计的,RenderTransform包含的变形属性成员就是专门用来改变Silverlight对象形状的,它可以实现对元素拉伸,旋转,扭曲等效果,同时变形特效也常用于辅助产生各种动画效果。 阅读全文
posted @ 2013-03-04 19:00 马语者 阅读(30106) 评论(4) 推荐(9) 编辑