01 2012 档案

摘要:VS2008破解方法非常简单,在开始>设置>控制面版>添加或删除程序>卸载vs.net2008>出现卸载界面>点击Next>输入上面CD-key ->出现成功画面即可完美将试用版升级成为正式版。 如下图顺序所示: VS2008正式版序列号CDKEY:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T 阅读全文
posted @ 2012-01-31 17:14 希格绍尔 阅读(275) 评论(1) 推荐(1) 编辑
摘要:统计图形种类繁多, 有柱状图, 折线图, 扇形图等等, 而统计图形的绘制方法也有很多, 有Flash制作的统计图形, 有水晶报表生成统计图形, 有专门制图软件制作, 也有编程语言自己制作的;这里我们用就C# 制作三款最经典的统计图: 柱状图, 折线图和扇形图;既然是统计, 当然需要数据, 这里演示的数据存于Sql Server2000中, 三款统计图形都是动态生成. 其中柱状图我会附上制作步骤, 其他两款统计图直接附源码. 说明: 需求不一样, 统计图形绘制后的显示效果也不一样, 比如这里柱状图的主要需求是为了比较每一期报名人数与通过人数的差, 因此会把两根柱子放在一起会使比较结果一目了... 阅读全文
posted @ 2012-01-30 17:30 希格绍尔 阅读(739) 评论(0) 推荐(0) 编辑
摘要:理解绘图规则一般来说,Windows的一个优点(实际上是现代操作系统的优点)是它可以让开发人员不考虑特定设备的细节。例如:不需要理解硬盘设备驱动程序,只需在相关的.NET类中调用合适的方法,就可以编程读写磁盘上的文件。这个规则也适用于绘图。计算机在屏幕上绘图时,把指令发送给视频卡。问题是市面上有几百种不同的视频卡,大多数有不同的指令集合功能。如果把这个i考虑在内,在应用程序中为每个视频卡驱动程序编写在屏幕上绘图的特定代码,这样的应用程序就根本不可能编写出来。这就是为什么在Windows最早的版本中有Windows Graphical Device Interface(GDI)的原因。GDI+提 阅读全文
posted @ 2012-01-30 15:14 希格绍尔 阅读(10672) 评论(1) 推荐(1) 编辑
摘要://实现功能:用创建的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 希格绍尔 阅读(11666) 评论(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 希格绍尔 阅读(355) 评论(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 希格绍尔 阅读(948) 评论(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 希格绍尔 阅读(731) 评论(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 希格绍尔 阅读(15915) 评论(0) 推荐(0) 编辑
摘要:大家都知道windows消息处理机制的重要,其实C#事件就是基于windows消息处理 机制的,只是封装的更好,让开发者无须知道底层的消息处理机制,就可以开发出强大的基于事件的应用程序来。在以往我们编写这类程序中,往往采用等待机制,为了等待某件事情的发生,需要不断地检测某些判断变量,而引入事件编程后,大大简化了这种过程:- 使用事件,可以很方便地确定程序执行顺序。- 当事件驱动程序等待事件时,它不占用很多资源。事件驱动程序与过程式程序最大的不同就在于,程序不再不停地检查输入设备,而是呆着不动,等待消息的到来, 每个输入的消息会被排进队列,等待程序处理它。如果没有消息在等待,则程序会把控制交回给 阅读全文
posted @ 2012-01-17 15:18 希格绍尔 阅读(550) 评论(0) 推荐(0) 编辑
摘要:IntPtr是什么,该怎么用 收藏 IntPtr用于表示指针或句柄的平台特定类型,此类型对多线程操作是安全的。C#中的IntPtr类型称为“平台特定的整数类型”,它们用于本机资源,如窗口句柄。资源的大小取决于使用的硬件和操作系统,但其大小总是足以包含系统的指针(因此也可以包含资源的名称)。 所以,在调用的API函数中一定有类似窗体句柄这样的参数,那么当声明这个函数时,应该将它显式地声明为IntPtr类型。 IntPtr 类型被设计成整数,其大小适用于特定平台。即是说,此类型的实例在 32 位硬件和操作系统中将是 32 位,在 64 位硬件和操作系统上将是 64 位。 IntPtr 类型可... 阅读全文
posted @ 2012-01-17 10:00 希格绍尔 阅读(663) 评论(0) 推荐(0) 编辑
摘要:目录反射的概述反射appDomain 的程序集反射单个程序集利用反射获取类型信息设置反射类型的成员通过反射创建类型的实例反射类型的接口反射的性能反射的概述反 射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定 义表,一个字段定义表,和一个方法定义表等,。System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码和反射相关的命名空间(我们就是通过这几个命名空间访问反射信息):System.Reflection.MemberInfo System.Reflection.E 阅读全文
posted @ 2012-01-15 17:00 希格绍尔 阅读(316) 评论(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 希格绍尔 阅读(208) 评论(0) 推荐(0) 编辑
摘要:Win32的API函数是微软自己的东西,可以直接在C#中直接调用,在做WinForm时还是很有帮助的。有时候我们之直接调用Win32 的API,可以很高效的实现想要的效果。 代码 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Runtime.InteropServices;namespace WindowsAPI{ class CSharp_Win32Api { #region User32.dll 函数 //... 阅读全文
posted @ 2012-01-15 08:56 希格绍尔 阅读(2847) 评论(1) 推荐(1) 编辑
摘要:int?:表示可空类型,就是一种特殊的值类型,它的值可以为null用于给变量设初值得时候,给变量(int类型)赋值为null,而不是0int??:用于判断并赋值,先判断当前变量是否为null,如果是就可以赋役个新值,否则跳过public int? a=null;public int b(){return this.a ?? 0;}值类型后面加问号表示可为空null(Nullable 结构)Nullable是.NET 2.0中新提供的一种用于标明一个值类型是否可以为空的技术。对于一个类型,如果既可以给它分配一个值,也可以给它分配空引用null(表示没有任何值),我们就说这个类型是可空的。因此,可 阅读全文
posted @ 2012-01-13 16:59 希格绍尔 阅读(22105) 评论(3) 推荐(5) 编辑
摘要:我在上一篇文章(C#编程之委托与事件(一) )中通过示例结合的方法介绍了委托,在本文中,我同样以代码示例的方式来介绍C#里的事件机制。二、事件 1.了解概念 事件就是当对象或类状态发生改变时,对象或类发出的信息或通知。发出信息的对象或类称为"事件源",对事件进行处理的方法称为"接收者",通常事件源在发出状态改变信息时,它并不知道由哪个事件接收者来处理.这就需要一种管理机制来协调事件源和接收者,C++中通过函数指针来完成的.在C#中事件使用委托来为触发时将调用的方法提供类型安全的封装。 在介绍事件之前我们先来了解几个事件的基本概念和几个重要素: --事件的 阅读全文
posted @ 2012-01-12 10:38 希格绍尔 阅读(368) 评论(0) 推荐(0) 编辑
摘要:多线程程序设计是一个庞大的主题,而本文试图在.net Framework环境下,使用C#语言来描述委托、事件、多线程程序及反射的概貌。希望本文能有助于大家理解委托、事件、多线程及反射的概念,理解委托、事件、多线程及反射的用途,理解它的C#实现方法,理解线程将为我们带来的好处和麻烦。C#是一种新的语言,因此它的线程机制也有许多独特的地方,希望大家能通过本文清楚地看到这些,从而可以对委托、事件、多线程等技术进行更深入的理解和探索。本文的重点内容:委托、事件、多线程、反射一. 委托委托的本质 --在C#中,委托是一个特殊的类; --在某种程度上,相当于C++的函数指针; --在某种程度上,相... 阅读全文
posted @ 2012-01-12 10:37 希格绍尔 阅读(331) 评论(0) 推荐(0) 编辑
摘要:一、DataGridView 取得或者修改当前单元格的内容:当前单元格指的是 DataGridView 焦点所在的单元格,它可以通过 DataGridView 对象的 CurrentCell 属性取得。如果当前单元格不存在的时候,返回Nothing(C#是null)// 取得当前单元格内容Console.WriteLine(DataGridView1.CurrentCell.Value);// 取得当前单元格的列 IndexConsole.WriteLine(DataGridView1.CurrentCell.ColumnIndex);// 取得当前单元格的行 IndexConsole.W.. 阅读全文
posted @ 2012-01-12 09:39 希格绍尔 阅读(2410) 评论(1) 推荐(0) 编辑
摘要:怎样利用DataSet向DataGridView中添加数据呢?很简单:编写添加按钮的单击事件方法示例代码:private void btnAdd_Click(object Sender,EventArgs e){ //创建DataSet对象 DataSet ds = new DataSet(); //创建DataTable对象 DataTable dt = new DataTable(); //创建列 dt.Columns.Add("姓名",typeof(string)); dt.Columns.Add("年龄",typeof(int)); //创建行 阅读全文
posted @ 2012-01-11 17:10 希格绍尔 阅读(7999) 评论(0) 推荐(0) 编辑