C#
文章平均质量分 57
Jerry_pic
这个作者很懒,什么都没留下…
展开
-
c#实现程序启动唯一实例的一种方法
<br />private static void GetSingleThread() <br /> { <br /> string name = Process.GetCurrentProcess().ProcessName; <br /> int id = Process.GetCurrentProcess().Id; <br /> Process[] prc = Process.GetProcesses(); <br />转载 2011-05-18 10:52:00 · 527 阅读 · 0 评论 -
C#中Dispose和Close的区别
<br /><br />当我们开发C#代码的时候,经常碰到一个问题,有些class提供Close(),有些class提供Dispose(),那么Dispose和Close到底有什么区别?<br />首先,Dispose和Close基本上应该是一样的。Close是为了那些不熟悉Dispose的开发者设计的。因为基本上所有的developer都知道Close是干吗的(特别是对于那些有C++背景的developer)。<br />但是当我们写code时候,如果要实现Close和Dispose的时候,要注意Clos转载 2011-05-18 10:55:00 · 589 阅读 · 0 评论 -
C#获取CPU序列号机器码并生成注册码
<br /><br />本例用C#获取CPU序列号生成机器码,最后生成注册码,在软件注册的时候经常用到,效率还算可以。<br />using System.Management;//需要在项目中添加System.Management引用<br />namespace ECBC_CDKEY<br />{<br />public class SoftReg<br />{<br />/// <summary><br />/// 取得设备硬盘的卷标号<br />/// </summary><br />/// <re转载 2011-05-18 11:12:00 · 3853 阅读 · 2 评论 -
VS2005(c#)项目调试问题解决方案集锦
<br />1.检测到有潜在危险的 Request.Form 值 原因:<br /> (1)在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置<br /> (2)HTML里面写了两个 引起<br /> 解决:<br /> 方案一: 在.aspx文件头中加入这句:<br /> 方案二: 修改web.config文件:<br /><configuration><br /><system.web><br /><pages validateRequest="转载 2011-05-18 11:06:00 · 610 阅读 · 0 评论 -
C#释放资源(2)
<br /><br /> C#中垃圾收集器的出现意为着,通常不需要担心不再需要的对象,只要让这些对象的所有引用都超出作用域,并允许垃圾收集器在需要时释放资源即可。但是,垃圾收集器不知道如何释放未托管的资源(例如文件句柄、网络链接和数据库链接)。托管类在封装对未托管资源的直接或间接引用时,需要制定专门的规则,确保未托管资源在回收类的一个实例时释放。<br />在定义一个类时,可以使用两种机制来自动释放未托管资源。这些机制常常放在一起实现,因为每个机制都为问题解决提供了不同的解决方法。这两种机制是:<br />转载 2011-05-18 11:00:00 · 870 阅读 · 0 评论 -
C#开源资源大汇总
<br /><br /> 一、AOP框架<br /> Encase 是C#编写开发的为.NET平台提供的AOP框架。Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式。这种部署方面(aspects)的方法帮助缺少经验的开发人员提高开发效率。<br /><br /> NKalore是一款编程语言,它扩展了C#允许在.net平台使用AOP。NKalore的语法简单、直观,它的编译器是基于Mono C#编译器(MCS)。NKalore转载 2011-05-18 10:57:00 · 579 阅读 · 0 评论 -
实现方法 C# button快捷键
<br /><br />C# button快捷键之第一种:Alt + *(按钮快捷键)<br />在大家给button、label、menuStrip等控件设置Text属性时在名字后边加&键名就可以了,比如button1.text= "确定(&O)"。就会有快捷键了,这时候按Alt+O就可以执行按钮单击事件。<br />C# button快捷键之第二种:Ctrl+*及其他组合键<br />在WinForm中设置要使用组合键的窗体的KeyPreview(向窗体注册键盘事件)属性为True;<br />然后使用转载 2011-05-18 10:54:00 · 1309 阅读 · 0 评论 -
c#制作P2P网络通讯软件
<br /><br />在网上看了很多程序(QQ、Azureus、Ants、PPStream)都实现了p2p,以前觉得技术很高深。通过这段时间的学习才发现,单纯的实现p2p在局域网通讯很容易,但是要实现外网穿透(NAT)感觉很困难。最近看了Azureus和emule源码,分别是JAVA和C++版,本人对这两门语言都不熟悉,看起来很吃力。最后只好根据VC++实现的P2PDemo程序进行了改版,根据设计思路用c#写了一个Demo出来。通过测试,多个客户端在局域网能脱离服务端实现端到端工作。外网的情况要通过路由器转载 2011-05-18 10:50:00 · 1548 阅读 · 2 评论 -
.NET开发中的一些小技巧
<br />这篇文章来自是Mukund Pujari的《Some Cool Tips for .NET》,本人给大家翻译总结一下,我英语水平也就那么回事,不合适的地方还是请大家提出来。1. 如何创建一个可改变大小没有标题栏的窗体?(How to create a form with resizing borders and no title bar?)form1.Text = string. Empty; <br />form1.ControlBox = false;<br />2. 如何在.NET的Win转载 2011-05-18 11:04:00 · 525 阅读 · 0 评论 -
WinForms程序加上启动动画
<br /><br />现在的程序,越来越讲究UX了(用户体验),能否赢得用户的青睐,很多时候是由UX的高低来决定的.<br />今天,我来为大家介绍一下,如何在WinForms下提高应用程序UX的一点研究:给你的程序加个启动动画.内容很初级,高手可以直接Next了.<br />好,我们直接切入主题.大家知道,当我们使用Office或VS时,首先会显示一张好看的启动图片(或动画),等所有内容在后台加载完了,才显示出Office或VS的操作主界面.这样的做法,大家可谓是司空见惯了,但它是如何现实的呢?<br转载 2011-05-18 10:59:00 · 610 阅读 · 0 评论 -
C#操作串口serialPort实例
<br /><br />现在大多数硬件设备均采用串口技术与计算机相连,因此串口的应用程序开发越来越普遍。例如,在计算机没有安装网卡的情况下,将本机上的一些信息数据 传输到另一台计算机上,那么利用串口通信就可以实现。运行本程序,在“发送数据”文本框中输入要传送的数据,单击【发送】按钮,将传送的数据发送到所选择 的端口号中;单击【接收】按钮,传递的数据被接收到“接收数据”文本框中。如图13.1所示。 <br /><br />技术要点<br /><br />在.NET Framework 2.0中提供了Seria转载 2011-05-18 11:10:00 · 1358 阅读 · 0 评论 -
C#释放未托管的资源
<br /><br />1 使用System.IDisposable接口替代析构函数。IDisposable接口声明了一个方法Dispose(),他不带参数,<br /> 返回void。假定有一个类ResourceGobbler,它使用某些外部资源,且实现IDisposable接口。如果要实例<br /> 化这个类的实例,使用它,然后释放它,就可以使用下面的代码:<br /> class ResourceGobbler:IDisposable<br /> {<br /> public vo转载 2011-05-18 11:04:00 · 656 阅读 · 0 评论 -
C#的资源释源(1)
<br /><br />便于对文章的开展,需要先明确两个概念。<br />第一个就是很多人用.Net写程序,会谈到托管这个概念。那么.Net所指的资源托管到底是什么意思,是相对于所有资源,还是只限于某一方面资源?很多人对此不是很了解,其实.Net所指的托管只是针对内存这一个方面,并不是对于所有的资源;因此对于Stream,数据库的连接,GDI+的相关对象,还有Com对象等等,这些资源并不是受到.Net管理而统称为非托管资源。而对于内存的释放和回收,系统提供了GC-Garbage Collector,而至于其转载 2011-05-18 11:00:00 · 539 阅读 · 0 评论 -
c#制作加密狗
<br /><br />密码写入与读出加密狗<br />实例说明<br />在使用加密狗时,需要向加密狗中写入或读取数据。例如,将密码写入或读取加密狗,如何实现呢?运行本例,在文本框中设置密码后,单击【写入】按钮,即可将设置的密码写入加密狗,成功写入后,单击【读出】按钮,即可将写入的密码读出并显示在文本框中。如图13.4所示。<br />技术要点<br />在购买加密狗时,厂家通常会附带有开发手册和一张光盘。开发手册中介绍了加密狗的使用方法和开发资料。本例使用赛孚耐信息技术有限公司的加密狗产品,该产品提供了转载 2011-05-18 11:08:00 · 2400 阅读 · 0 评论