摘要: 当我们布局窗体控件时,会发现有些控件很少使用到但却又必不可少,比如一些系统的参数输入项。遇到这种情况时,我们通常会将这些很少使用的参数单独放置在一个窗体中进行配置。在其它窗体中需要使用这些参数时,再调用。如果系统参数很少,而且只在某个窗体中需要使用到,这时我们可以将参数放置在当前窗体中进行配置,比如使用TextBox控件让客户进行输入,为了不让客户经常看到这个控件,我们也可以使用一些自动伸缩的控件,但是这种做法不会减小整个窗体的空间,下面就介绍一种能够减少窗体的空间的做法。代码如下:(http://www.codeproject.com/Articles/10091/Save-valuab.. 阅读全文
posted @ 2013-04-09 10:42 Samguist 阅读(2385) 评论(1) 推荐(0) 编辑
摘要: 元数据概述 在剖析元数据之前,先给出以下几行代码: public sealed class Program { public static void Main() { System.Console.WriteLine("Hi"); } } 应用程序定义了一个名为Program的类型和Main方法,Main方法中引用了另外一个名为System.Console的类型。而System.Console是Microsoft已经实现好的一个类型,这个实现好的类型的各个方法的IL代码存储在MSCorLib.dll文件中。当我们使用C... 阅读全文
posted @ 2012-12-09 21:30 Samguist 阅读(250) 评论(0) 推荐(0) 编辑
摘要: CLR CLR(Common Language Runtime),即公共语言运行时是一个由多种编程语言使用的“运行时”,它的核心功能(比如内存管理、程序集加载、异常处理和线程同步)可由面向CLR的所有语言使用。任何一种实现了“运行时”的语言编译器,编程人员就可以使用该语言来开发代码。 面向“运行时”的语言编译器包括:C#,VB、IL(Intermediate Language,中间语言)汇编器等。当编程人员用一种CLR的语言来创建源代码文件时,由对应的编译器检查语法和分析源代码,然后生成一个托管模块(managed module)。托管模块是一个标准的32位可移植执行体PE32文件(Por.. 阅读全文
posted @ 2012-12-08 15:14 Samguist 阅读(653) 评论(0) 推荐(0) 编辑
摘要: from:http://www.dofactory.com/Connect/Connect.aspx#_self15Microsoft SqlServer 数据库连接字符串Microsoft SQL Server// ODBC DSNusing System.Data.Odbc;OdbcConnection conn = new OdbcConnection();conn.ConnectionString = "Dsn=DsnName;" + "Uid=UserName;" + "Pwd=Secret;"; c... 阅读全文
posted @ 2013-04-01 09:15 Samguist 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 我们知道,CLR要求每个类型最终都从System.Object类型派生。而Object类提供了几个实例方法:Equals(),GetHashCode(),ToString(),GetType(). 当我们new一个对象时,CLR所做的工作如下:(1)计算类型及其所有基类型中定义的所有实例字段需要的字节数,其中包括两个额外的成员:“类型对象指针”和“同步索引块”;(2)从托管堆上分配指定类型所要求的字节数,从而分配对象的内存,分配的所有字节都设为0;(3)初始化对象的“类型对象指针”和“同步索引块”(4)调用类型的实例构造器,构造器负责实例化类型中的字段,并最终调用System.Objec... 阅读全文
posted @ 2012-12-23 17:00 Samguist 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 介绍 这篇文章介绍了WCF,我们将试图了解WCF背后的基本概念,并试着实现一个小的WCF服务。同时,给出一些例子演示一个WCF服务是如何被调用和运行的。背景 Web服务应用程序之间的通信协议是非常重要的,web services提供了一个有效的方式来促进应用程序之间的通信,但是它也有一些局限性。第一个是应用程序之间只能基于Http的方式进行通信;第二个局限就是web service仅提供了单向通信,没有提供半双工或全双工的通信方式。 使用WCF,我们可以定义我们的服务一次,然后配置它,就能够通过Http,Tcp,IPC,甚至MSMQ. 下面的表格展示了web service和WCF的不... 阅读全文
posted @ 2012-12-16 18:34 Samguist 阅读(793) 评论(0) 推荐(0) 编辑
摘要: 两种程序集,两种部署 CLR支持两种程序集:强命名程序集和非强命名程序集(为了与前者对立,我们称为"弱命名程序集").这两种程序集在结构上完全一致,都是PE文件格式、PE32(+)头、CLR头、元数据、清单表以及IL。区别:强命名程序集使用发布者的公钥/私钥对进行了签名,它唯一的标识了程序集的发布者。 一个程序集可以采取两种方式来部署:私有或全局。”私有部署的程序集“是指部署到应用程序基目录或者一个子目录中的程序集。弱命名程序集只能以私有方式部署。”全局部署的程序集“是指部署到一些已知位置的程序集,CLR在查找这些程序集时,会检查这些位置。强命名程序集既可以私有部署,也可以 阅读全文
posted @ 2012-12-16 13:08 Samguist 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 介绍 这篇文章首先试着让我们理解delegate(暂时翻译为"委托")能解决什么问题,然后我们将创建一个简单的委托并尝试着解决问题,下一步我们 将试着理解多播委托(multicast delegate)的概念以及事件(event)是如何封装(encapsulate)委托的,最后我们会明白事件和委托之 阅读全文
posted @ 2012-12-08 12:13 Samguist 阅读(3611) 评论(0) 推荐(0) 编辑
摘要: View Code using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;using System.IO;namespace Graphic{ public class MD5 { //static state variables private static UInt32 A; private static UInt32 B; pri... 阅读全文
posted @ 2011-12-26 13:56 Samguist 阅读(461) 评论(0) 推荐(1) 编辑
摘要: 将coolite中gridpanel中的数据导入到本地excel中时,默认表格的表头不会随数据一起下载,下面就教你如何将表头随数据一起下载到本地excel中. (1)store hidden gridpanel三种控件的配合使用 hidden的ID="hidAlarmHistory" gridpanel的ID="grdAlarmHistory",在head标签中加入以下js代码: var saveAlarmData = function() { hidAlarmHistory.setValue(Ext.encode(grdAlarmHistory.get 阅读全文
posted @ 2011-11-07 09:07 Samguist 阅读(1141) 评论(0) 推荐(0) 编辑