立博名家

文章分类 -  Visual C#

谈谈.NET中的内存管理
摘要:.NET中的内存管理通常会被认为是GC(Garbage Collection)的事情,程序员不用太操心。的确,GC通过对托管堆(Managed Heap)的管理,使我们(程序员们)有机会从繁琐的诸如内存泄漏之类的问题中解放出来,将精力专注于程序的逻辑上。然而,将所有的事情都交给GC有时会损及程序的效率,严重的甚至可能导致错误。这是由于,GC虽然可以有效地管理托管对象(Managed Object),但是对于那些非托管资源(例如文件句柄、Socket链接等)或者需要特别关照的对象(例如Bitmap对象等),GC的表现就不是那么尽如人意了。对于这些工作,GC需要程序员的协助才能很好的完成。因此,有 阅读全文

posted @ 2012-12-19 20:51 大李 阅读(163) 评论(0) 推荐(0)

构建 WinForm 通用速选(全选、反选、清空)组件
摘要:http://www.cnblogs.com/ldp615/archive/2009/11/29/WinForm_FastSelect_Component.html用户界面中,需要用户进行多项选择时,我们通常会提供一组快速选择(以下简称速选)按钮:全选、反选、清空,以方便用户操作。本文章将会构建一个通用速选组件来简化操作,使用之后,您不需要编写任何代码,只需设置两个属性便可让一个控件拥有速选的功能。常见的几种多选形式WinForm中常见的几种多选形式如下图: 图1我们暂且将用于显示选项的控件叫做“选项控件”,全选、反选、清空叫做“速选按钮”。四种形式采用了不同的控件用作选项控件、速选按钮: . 阅读全文

posted @ 2012-12-02 15:29 大李 阅读(219) 评论(0) 推荐(0)

c#中datagridview里checkbox的使用方法
摘要:1、属性设置checkboxcolumnname:cb_checkfalsevalue:falsetruevalue:truedatagridview中的readonly设置为false.2、 //单项选择设置private void dgv_zy_CellContentClick(object sender, DataGridViewCellEventArgs e) { int count = Convert.ToInt16(dgv_zy.Rows.Count.ToString()); for (int i = 0; i < count; i++){{DataGridViewChec 阅读全文

posted @ 2012-12-01 23:31 大李 阅读(7635) 评论(0) 推荐(0)

多核时代 .NET Framework 4 中的并行编程2---任务并行库之Task (上)
摘要:多核时代 .NET Framework 4 中的并行编程2---任务并行库之Task (上)这个系列不错,原文地址http://www.cnblogs.com/xray2005/archive/2011/08/21/2147625.html1.任务并行库任务并行库(Task Parallel Library) 是 .NET Framework4 版的System.Threading和System.Threading.Tasks命名空间中的一组公共类型和 API。TPL 的目的在于简化向应用程序中添加并行性和并发性的过程,从而提高开发人员的工作效率。TPL 会动态地按比例调节并发程度,以便最有. 阅读全文

posted @ 2012-11-27 15:47 大李 阅读(140) 评论(0) 推荐(0)

C# 索引器四个例子:普通索引器,字符串索引器,接口定义索引器,泛型索引器。(转)
摘要://普通索引器using System;namespace Index1{ class TempRecord { private float[] temps = new float[10] { 56.2F, 56.7F, 56.5F, 56.9F, 58.8F, 61.3F, 65.9F, 62.1F, 59.2F, 57.5F }; System.DateTime date { get; set; } public int Length { get { return temps.Length; } } public float this[int index] { get { return . 阅读全文

posted @ 2012-11-27 15:45 大李 阅读(356) 评论(0) 推荐(1)

C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件
摘要:转载于:http://www.hv999.com/show.asp?id=1726今天做了一个软件,想发布的时候才发现调用的类没几个,就像把它们都跟EXE文件打包在一起,以后复制去别的地方用也方便,于是上网搜了一下,发现网上大部分都是用ILMerge实现的,于是也自己试了一下,不过网上都没有详细的步骤演示,我就花点时间做了个教程,方便以后再有人想打包自己的程序, 有篇文章可以参考,好了废话少说,马上开始: 1.先到http://www.microsoft.com/downloads/details.ASPx?FamilyID=22914587-B4AD-4EAE-87CF-B14AE6A93. 阅读全文

posted @ 2012-02-06 09:36 大李 阅读(435) 评论(1) 推荐(0)

向其他进程注入代码的三种方法
摘要:原版地址:http://www.codeproject.com/threads/winspy.asp?df=100&forumid=16291&select=1025152&msg=1025152下载整个压缩包下载WinSpy作者:Robert Kuster翻译:袁晓辉(hyzs@sina.com)摘要:如何向其他线程的地址空间中注入代码并在这个线程的上下文中执行之。目录:●导言●Windows钩子(Hooks)●CreateRemoteThread和LoadLibrary技术○进程间通讯●CreateRemoteThread和WriteProcessmemory技术○ 阅读全文

posted @ 2011-12-21 10:39 大李 阅读(335) 评论(0) 推荐(0)

C#进程注入,模拟注入一个记事本
摘要:C#中的DLL注入事实上dll注入很简单,无非就是调用virtualAllocEx,WriteProcessMemory,OpenProcess,CreateRemoteThread等API函数,因为我是学c#的,所以也想看一下c#这方面的文章,但在网上找了半天,没有找到一篇,也许是c#刚兴起的缘故,学c#的并不多,没办法,只好自己移植一下,因为凡是用到API函数,所有的编程的语言都是相同的,这就为我们的移植带来了方便,学c#的一般应该对API的调用概念很淡,因为c#通常不会去调用API函数,因为这些已经被封装了,在vb,vc++等语言中要结束一个进程,首先就必须要得到这个进程的句柄,然后才能 阅读全文

posted @ 2011-12-21 10:07 大李 阅读(374) 评论(0) 推荐(0)

C# 类型基础
摘要:引言本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制。复制又分为了浅度复制(Shallow Copy)和深度复制(Deep Copy),浅度复制 和 深度复制又是以 如何复制引用类型成员来划分的。由此又引出了 引用类型和 值类型,以及相关的对象判等、装箱、拆箱等基础知识。于... 阅读全文

posted @ 2009-07-15 17:52 大李 阅读(113) 评论(0) 推荐(0)

同步方法和异步方法的区别
摘要:同步方法调用在程序继续执行之前需要等待同步方法执行完毕返回结果; 异步方法则在被调用之后立即返回以便程序在被调用方法完成其任务的同时执行其它操作 异步编程概览 .NET Framework 允许您异步调用任何方法。定义与您需要调用的方法具有相同签名的委托;公共语言运行库将自动为该委托定义具有适当签名的 BeginInvoke 和 EndInvoke 方法。 BeginInvok... 阅读全文

posted @ 2009-04-08 18:22 大李 阅读(994) 评论(0) 推荐(0)

关于C#泛型编程杂记
摘要:泛型的特点: 1.增加了编译时的类型检查. 2.减少了装箱和拆箱操作. 3.减少了运行时的类型检查. .NET Framework 2.0支持了泛型,在它给我们带来性能收益和强类型的方便的同时,由于接口、委托等元素对泛型的支持,一些前所未有的泛型设计和算法也逐渐展现出来。 C# 2.0支持了一种叫“匿名方法”的特性,它与泛型委托结合之后,能够产生出许多诱人的新用法。比如,若想找出列表中所有大于... 阅读全文

posted @ 2009-01-06 14:56 大李 阅读(570) 评论(0) 推荐(0)

C#设计终端式短信地机制和办法
摘要:简介 没发过短信的年轻人肯定是属于那种受保护的稀有动物,通讯发达的今天短信已经成为人们交流的重要手段,其中也蕴含着巨大的市场和经济利益,掌握短信技术的人才也受到各大公司的追捧是目前职场上耀眼的明星。本文介绍了短信的原理和实现方法,重点说明了短信的编码方式、AT指令以及用C#实现串口通讯的方法。 前言 目前,主有三种发送短信的方式: 1、 网关方式:就是向当地的电信部门申请,不需要... 阅读全文

posted @ 2008-06-28 13:08 大李 阅读(268) 评论(0) 推荐(0)

C# 中的委托和事件
摘要:引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对O... 阅读全文

posted @ 2008-03-10 15:53 大李 阅读(119) 评论(0) 推荐(0)

详解C#委托,事件与回调函数 (转)
摘要:转自“http://www.cnblogs.com/birdshover/archive/2007/12/14/994912.html” .Net编程中最经常用的元素,事件必然是其中之一。无论在ASP.NET还是WINFrom开发中,窗体加载(Load),绘制(Paint),初始化(Init)等等。 “protected void Page_Load(object sender, EventArg... 阅读全文

posted @ 2008-03-08 17:06 大李 阅读(177) 评论(0) 推荐(0)

c#中结构与类的区别
摘要:一.类与结构的示例比较: 结构示例: public struct Person { string Name; int height; int weight public bool overWeight() { //implement something } } 类示例: public class TestTime { int ... 阅读全文

posted @ 2007-06-08 00:04 大李 阅读(173) 评论(1) 推荐(0)

我写的,猫,老鼠,主人三者联动。请高手指教。
摘要:using System;using System.Collections.Generic;using System.Text; namespace myConsole{ public delegate void MouseCryHandler(); public delegate void CatHandler(); public class Mouse { ... 阅读全文

posted @ 2007-06-06 16:40 大李 阅读(211) 评论(0) 推荐(0)

web的简单继承应用--页面的基类PageBase
摘要:在做web项目中经常每个页面都要用到相同的处理过程,样式,还有方法.这个时候每个页面都写一样的代码有点烦琐,所以一般情况下我们就会把这些基本相同总结出来放到一个基类中,每个页面只要继承它就可以了..以下是我的一个基类PageBase的代码. /**//******************************************************************** cr... 阅读全文

posted @ 2007-05-08 22:18 大李 阅读(511) 评论(0) 推荐(1)

fox pageBase
摘要:using System;using System.Data;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Resources;using System.Reflection;using System.DirectoryServices;using System.Web.Secur... 阅读全文

posted @ 2007-05-08 22:06 大李 阅读(1795) 评论(0) 推荐(0)

C# 参考之访问关键字:base、this
摘要:base base 关键字用于从派生类中访问基类的成员: 调用基类上已被其他方法重写的方法。 指定创建派生类实例时应调用的基类构造函数。 基类访问只能在构造函数、实例方法或实例属性访问器中进行。 示例: 在派生类中调用基类方法。 // base 关键字// 访问基类成员using System;p... 阅读全文

posted @ 2007-05-08 11:10 大李 阅读(222) 评论(0) 推荐(0)

C# 参考之命名空间关键字:namespace、using
摘要:C# 参考之命名空间关键字:namespace、using namespace namespace 关键字用于声明一个范围。此命名空间范围允许您组织代码并为您提供了创建全局唯一类型的方法: 命名空间名可以是任何合法的标识符。命名空间名可以包含句号。 即使未显式声明命名空间,也会创建默认命名空间。该未命名的命名空间(有时称为全局命名空间)存在于每一个文件中。全局... 阅读全文

posted @ 2007-05-08 10:53 大李 阅读(1129) 评论(0) 推荐(0)

导航

立博名家