摘要: //实现功能:用创建的PEN画线。//(本例使用using创建Pen.其好处在于,在对象(pen)超出作用域时,using结构会自动调用Dispose(),将PEN删除。// 若用其它方法创建绘图对象(一般都很费资源),则一定要显式调用Dispose() ,如:// " Graphics g = this.CreateGraphics();// ........// ........// g.Dispose(); "//要点:// 创建Pen, Pen的颜色与粗细 获取客户区的height与Width using System;using System.Collection 阅读全文
posted @ 2012-01-30 14:05 希格绍尔 阅读(11596) 评论(0) 推荐(1) 编辑
摘要: 1 Excel对象微软的Excel对象模型包括了128个不同的对象,从矩形,文本框等简单的对象到透视表,图表等复杂的对象.下面我们简单介绍一下其中最重要,也是用得最多的四个对象。(1) Application对象。Application对象处于Excel对象层次结构的顶层,表示Excel自身的运行环境。 (2) Workbook对象。Workbook对象直接地处于Application对象的下层,表示一个Excel工作薄文件。(3) Worksheet对象。Worksheet对象包含于Workbook对象,表示一个Excel工作表。(4) Range对象。Range对象包含于Worksheet 阅读全文
posted @ 2012-01-19 14:50 希格绍尔 阅读(354) 评论(0) 推荐(0) 编辑
摘要: C#操作Excel知识点近期在使用C#操作excel,主要是读取excel模板,复制其中的模板sheet页,生成多个sheet页填充相应数据后另存到excel文件,所用到的知识点如下。 一、添加引用和命名空间 添加Microsoft.Office.Interop.Excel引用,它的默认路径是C:\Program Files\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.Interop.Excel.dll 代码中添加引用using Microsoft.Off... 阅读全文
posted @ 2012-01-19 14:38 希格绍尔 阅读(938) 评论(0) 推荐(0) 编辑
摘要: 本文摘自http://blog.csdn.net/chopper7278/archive/2008/07/09/2627667.aspx使用csc命令将.cs文件编译成.dll的过程很多时候,我们需要将.cs文件单独编译成.dll文件, 操作如下: 打开命令窗口->输入cmd到控制台->cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322转到vs.net安装的该目录下->执行csc命令csc /target:library File.cs->在该目录下产生一个对应名字的.dll文件(前提:把.cs文件放到C:\WINDOWS\M 阅读全文
posted @ 2012-01-18 13:14 希格绍尔 阅读(728) 评论(0) 推荐(0) 编辑
摘要: 使用C#生成dll文件并调用(2010-06-05 16:19:16)转载▼标签:杂谈 使用C#生成dll文件并调用2009-11-21 09:00http://hi.baidu.com/wuxiaoming1733/blog/item/8e6b8c020ea23f074bfb51d5.html 一、创建dll文件:例如生成一个md5编码判断状态的文件,即,输入一个字符串(string A)和一个32位md5编码(string B),判断此字符串A对应的32位md5编码是否与B相等,如果相等返回true,否则返回false。打开VS 2005,“文件”--》“新建”--“项目”,选择“W... 阅读全文
posted @ 2012-01-18 13:13 希格绍尔 阅读(15902) 评论(0) 推荐(0) 编辑
摘要: 大家都知道windows消息处理机制的重要,其实C#事件就是基于windows消息处理 机制的,只是封装的更好,让开发者无须知道底层的消息处理机制,就可以开发出强大的基于事件的应用程序来。在以往我们编写这类程序中,往往采用等待机制,为了等待某件事情的发生,需要不断地检测某些判断变量,而引入事件编程后,大大简化了这种过程:- 使用事件,可以很方便地确定程序执行顺序。- 当事件驱动程序等待事件时,它不占用很多资源。事件驱动程序与过程式程序最大的不同就在于,程序不再不停地检查输入设备,而是呆着不动,等待消息的到来, 每个输入的消息会被排进队列,等待程序处理它。如果没有消息在等待,则程序会把控制交回给 阅读全文
posted @ 2012-01-17 15:18 希格绍尔 阅读(549) 评论(0) 推荐(0) 编辑
摘要: IntPtr是什么,该怎么用 收藏 IntPtr用于表示指针或句柄的平台特定类型,此类型对多线程操作是安全的。C#中的IntPtr类型称为“平台特定的整数类型”,它们用于本机资源,如窗口句柄。资源的大小取决于使用的硬件和操作系统,但其大小总是足以包含系统的指针(因此也可以包含资源的名称)。 所以,在调用的API函数中一定有类似窗体句柄这样的参数,那么当声明这个函数时,应该将它显式地声明为IntPtr类型。 IntPtr 类型被设计成整数,其大小适用于特定平台。即是说,此类型的实例在 32 位硬件和操作系统中将是 32 位,在 64 位硬件和操作系统上将是 64 位。 IntPtr 类型可... 阅读全文
posted @ 2012-01-17 10:00 希格绍尔 阅读(653) 评论(0) 推荐(0) 编辑
摘要: 目录反射的概述反射appDomain 的程序集反射单个程序集利用反射获取类型信息设置反射类型的成员通过反射创建类型的实例反射类型的接口反射的性能反射的概述反 射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定 义表,一个字段定义表,和一个方法定义表等,。System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码和反射相关的命名空间(我们就是通过这几个命名空间访问反射信息):System.Reflection.MemberInfo System.Reflection.E 阅读全文
posted @ 2012-01-15 17:00 希格绍尔 阅读(314) 评论(0) 推荐(1) 编辑
摘要: Appdomain 2008-08-11 10:24:46| 分类: C#基础 |字号 订阅我们知道,进程是操作系统用于隔离众多正在运行的应用程序的机制。在.Net之前,每一个应用程序被加载到单独的进程中,并为该进程指定私有的虚拟内存。进程不能直接访问物理内存,操作系统通过其它的处理把这些虚拟内存映射到物理内存或IO设备的某个区域,而这些物理内存之间不会有重叠,这就决定了一个进程不可能访问分配给另一个进程的内存。相应地,运行在该进程中的应用程序也不可能写入另一个应用程序的内存,这确保了任何执行出错的代码不会损害其地址空间以外的应用程序。在这种机制下,进程作为应用程序之间一个独立而安全的边界.. 阅读全文
posted @ 2012-01-15 16:43 希格绍尔 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。将方法作为方法的参数我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出一句问 阅读全文
posted @ 2012-01-15 15:04 希格绍尔 阅读(207) 评论(0) 推荐(0) 编辑