代码改变世界

随笔分类 -  C#

Windows8开发Bing Maps不能正常显示,只显示禁止符号

2012-10-05 14:15 by ※森林小居※, 623 阅读, 收藏, 编辑
摘要: 地图代码为:<bing:Map MapType="Birdseye" Credentials="Av0eulndJAkK3rxWjjhUFeufIhIm6cafaV-cMj8wNPsCDVSENenfB0C2ejcrE06a" Width="640" Height="480" Margin="10,0,716,288" ZoomLevel="10"/>在网络上看到了一些例子,但都显示这种样式,如http://www.cnblogs.com/fengyun1989/ 阅读全文

使用反射获取枚举的自定义属性Attribute及其他使用方式

2012-02-07 13:02 by ※森林小居※, 2343 阅读, 收藏, 编辑
摘要: 自定义Attribue:ImgAttribute[AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = true)] sealed class ImgAttribute : Attribute { readonly string imgUrl; public ImgAttribute(string imgUrl) { this.imgUrl = imgUrl; } /// <summary> /// 图片地址 //... 阅读全文

C# 启动外部程序的几种方法

2012-01-12 13:58 by ※森林小居※, 3001 阅读, 收藏, 编辑
摘要: 1.启动外部程序,不等待其退出。 2.启动外部程序,等待其退出。 3.启动外部程序,无限等待其退出。 4.启动外部程序,通过事件监视其退出。// using System.Diagnostics;private string appName = "calc.exe";/// <summary>/// 1. 启动外部程序,不等待其退出/// </summary>private void button1_Click(object sender, EventArgs e){ Process.Start(appName); MessageBox.Show(S 阅读全文

C#编写Rtf文档,中文与字母区分,C#将汉字转换成GBK编码

2011-12-24 16:57 by ※森林小居※, 4530 阅读, 收藏, 编辑
摘要: 最近两天在调试仰邦的LED双色屏。他们用的控制卡只能支持三种自定义传参方式,一、文本传值,二、Rtf文档传值,三、bmp图片传值。第一种第三种在仓库中传值无法做到。其主要原因是传的数据比较的多。对于Rtf文档的操作有很大的麻烦,主要是在于编码格式,二、颜色控制。下面主要介绍如何生成Rtf文档,可以通过WORD打开并发磅到LED屏上进行正常的显示。 研究了一天,把Rtf文档主要分成:主文档区,显示文字区。在这里我把显示文字区分成:中文与英文两种,中文建议用GBK编码,英文可以直接进行替换更改。主要整理出来三种颜色:黄,红,绿。代码如下:黄(中文):{\rtlch\fcs1 \af0 \ltrc. 阅读全文

行列转换,交叉表 (统计用, 表的值转换成字段)

2011-10-20 14:30 by ※森林小居※, 1954 阅读, 收藏, 编辑
摘要: 这段时间在看SAAS方面的书籍时发现一个关于数据处理的问题。里面讲到一种扩展性非常好的方法。但一直到今天终于在网上找到了。只可惜现在还在探索,只是找到一个例子而已。我在这里把共享希望对大家有用。下面的语句在sql server 2005中我测试过没有问题。1: 列转为行:eg1:Create table test (name char(10),km char(10),cj int)goinsert test values('张三','语文',80)insert test values('张三','数学',86)insert tes 阅读全文

对C#泛型实例化对像

2011-10-13 16:29 by ※森林小居※, 12314 阅读, 收藏, 编辑
摘要: 最近在编写一套开发框架结构主要应用.Net 3.5以上的框架开发与应用。在此框架中应用了较多的泛型。下面来讲讲对泛型的实例化,以代码为例,如:public class A{ }public class B<T>{ public static T Get() { //在这一块如何实例化T这个对象呢?如果用default(T)这个是不行的。只能做一个null值处理。 }}以上的方法就是遇到最麻烦的问题。一直以来都以为default(T)就可以实例化T这个对像,其实不然,这个只能起一个null值的作用。如果要解决以上的问题现在有两种方法:一、在使用泛型的类后面加入一个 where T : 阅读全文

C# WinForm 用MenuStrip动态生成菜单并动态加载事件

2011-09-27 11:13 by ※森林小居※, 15875 阅读, 收藏, 编辑
摘要: 最近在做WINFORM开发,一直都在为主界面的点击事件及动态加载菜单苦脑。现在已解决这个问题了,可以实现数据库或都XML等配置完成动态生成菜单及事件加载。代码如下:private void Form1_Load(object sender, EventArgs e) { //添加菜单一 ToolStripMenuItem subItem; subItem = AddContextMenu("入库", menuStrip1.Items, null); //添加子菜单 A... 阅读全文

C#下载文件(可显示进度)的方法实现

2011-08-21 09:46 by ※森林小居※, 3717 阅读, 收藏, 编辑
摘要: 在做WIN FORM程序中经常要使用到升级功能,就需要从服务器上下载最新扔软件程序。如何下载呢?代码实现如下: /// <summary>/// c#,.net 下载文件/// </summary>/// <param name="URL">下载文件地址</param>/// <param name="Filename">下载后的存放地址</param>/// <param name="Prog">用于显示的进度条</param>publi 阅读全文

如何查看并导出SQL SERVER数据表中字段的注释信息

2011-08-18 15:45 by ※森林小居※, 4829 阅读, 收藏, 编辑
摘要: 查看并导出SQL Server 2000数据表中字段的注释信息:此示例为导出某个表注释的语句:(表名是bbs_bank_log)SELECT sysobjects.name AS 表名, syscolumns.name AS 列名, systypes.name AS 数据类型, syscolumns.length AS 数据长度, CONVERT(char, sysproperties.[value]) AS 注释FROM sysproperties RIGHT OUTER JOINsysobjects INNER JOINsyscolumns ON sysobjects.id = sysco 阅读全文

HttpModule与HttpHandler详解

2011-08-09 16:28 by ※森林小居※, 486 阅读, 收藏, 编辑
摘要: ASP.NET对请求处理的过程:当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给 ASPNET_ISAPI.dll,ASPNET_ISAPI.dll会通过http管道(Http PipeLine)将请求发送给ASPNET_WP.exe进程,在ASPNET_WP.exe进程中通过HttpRuntime来处理这个请求,处理完 毕将结果返回客户端。 inetinfo.exe进程:是www服务的进程,IIS服务和ASPNET_ISAPI.DLL都寄存在此进程中。 ASPNET_ISAPI.DLL:是处理.aspx文件的w 阅读全文

ADO.NET Entity Framework 批量更新/批量删除扩展

2011-07-30 11:57 by ※森林小居※, 6874 阅读, 收藏, 编辑
摘要: 一直都在想着用ADO.NET Entity Framework开发项目,只是Entity Framework 中不能同时更新多条记录。所以一直没有使作其开发。最近在看到了一些LINQ TO SQL的一些扩展方法,本人就LINQ TO SQL的扩展也实行了对Entity Framework扩展。主要代码如下: 以下是更新的扩展代码: /// <summary> /// 更新满足条件的实体,返回更新实体的条数 /// </summary> /// <typeparam name="T">更新的类型</typeparam> ... 阅读全文

C#动态调用Web服务的3种方法

2011-07-29 09:59 by ※森林小居※, 1180 阅读, 收藏, 编辑
摘要: 我们在开发C# WinForm时,有时会调用Web服务,服务是本地的当前好办,只要在Project中的Web References中引入就可以在代码中直接创建一个Web服务对象来引用,其实其原理是C#帮你自动创建客户端代理类的方式调用WebService,但如果调用的服务是动态的,比如说在几个IIS中都有相同的一个服务,在运行时输入具体的IP才确定调用哪个服务,那要怎么样实现呢。C#动态调用Web服务方法一: 手动的添加一个Web引用,然后修改下本地的代理类。最后实现Web Service的URI部署到配置文件里。 具体做法如下:以下代码是显示如何配置动态的Web Service,以服务单元C 阅读全文

Linq 操作XML文件

2011-05-08 20:27 by ※森林小居※, 456 阅读, 收藏, 编辑
摘要: 1.创建Xml树 <person id="1"> <name>Gaby</name> <age>12</age> <address>GuangZhou</address> </person> <person id="2"> <name>Bill</name> <age>33</age> <address>USA</address> </person> <per 阅读全文

在.Net中关于AOP的实现

2011-05-08 09:24 by ※森林小居※, 307 阅读, 收藏, 编辑
摘要: 一、AOP实现初步AOP将软件系统分为两个部分:核心关注点和横切关注点。核心关注点更多的是Domain Logic,关注的是系统核心的业务;而横切关注点虽与核心的业务实现无关,但它却是一种更Common的业务,各个关注点离散地分布于核心业务的多处。这意味着,如果不应用AOP,那么这些横切关注点所代表的业务代码,就会分散在系统各处,导致系统中的每个模块都与这些业务具有很强的依赖性。在这里,所谓横切关注点所代表的业务,即为“方面(Aspect)”,常见的包括权限控制、日志管理、事务处理等等。以权限控制为例,假设一个电子商务系统,需要对订单管理用户进行权限判定,只有系统用户才能添加、修改和删除订单, 阅读全文

Linq To Sql 笔记

2011-04-24 09:01 by ※森林小居※, 269 阅读, 收藏, 编辑
摘要: Linq To SQL 无非是把合法的Linq查询表达式应用于存储在关系数据库中的数据。除查询本身外,Linq To SQL还提供了许多位于System.Data.Linq.dll程序集中的类型,便于代码库与物理数据库引擎间的数据交互。 Linq To SQL的主要目的是在关系数据库和它们进行的交互编程逻辑间提供一致性。通过使用Linq查询表达式和定义的实体类,及DataContext类型,你可以进行所有预期的数据库的增、删、改、查操作,及定义事务性上下文,创建新的数据库实体或整个数据库、调用存储过程和其他以数据库为中心的活动等。 此外,Linq To SQL中的类型可与标准的ADO.... 阅读全文

C#面试题集

2011-04-24 08:58 by ※森林小居※, 468 阅读, 收藏, 编辑
摘要: 网上收集的面试题,自己做了一下,改了些小错。1. 简述 private、 protected、 public、 internal 修饰符的访问权限。答 . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一程序集内可以访问。2. 列举ASP.NET 页面之间传递值的几种方式。 答. 1.使用QueryString, 如....?id=1; response. Redirect().... 2.使用Session变量 3.使用Server.... 阅读全文

C#.net编写摄像头驱动程序,用avicap32.dll

2011-04-10 00:08 by ※森林小居※, 1296 阅读, 收藏, 编辑
摘要: 装了摄像头后一般会有 avicap32.dll文件,没有一样可以用这些代码。不需要在解决方案里面引用这个.dll文件。下面有二种写法的例子:例一:using System;using System.Runtime.InteropServices;using System.Drawing;using System.Drawing.Imaging;namespace WinVideo...{ /**//// <summary> /// webcam 的摘要说明。 /// </summary> public class webcam ...{ private const in 阅读全文

共享访问在.NET中的编程实现

2011-04-10 00:05 by ※森林小居※, 491 阅读, 收藏, 编辑
摘要: 摘要:本文简单介绍在.NET中如何通过API实现局域网共享访问编程。本页内容概述API介绍代码实现应用示例结束语概述一般用户在访问局域网中的计算机时都需要提供访问凭据,如果想通过编程来实现自动登录,.NET开发人员一般首先会想到通过调用WMI来实现。但是在实现过程中也许你会发现使用ConnectionOptions类不是很理想,因此本文采用了平台调用的方式来介绍共享访问编程实现。API介绍mpr.dll是Windws操作系统网络通讯相关模块,通过对功能需求的分析,直接调用mpr.dll来实现该功能。在.NET中需要通过平台调用(platform invoke)来调用其中的方法,这里需要用到mp 阅读全文

C#多线程学习(六) 互斥对象

2011-04-09 20:45 by ※森林小居※, 227 阅读, 收藏, 编辑
摘要: 如何控制好多个线程相互之间的联系,不产生冲突和重复,这需要用到互斥对象,即:System.Threading 命名空间中的 Mutex 类。我们可以把Mutex看作一个出租车,乘客看作线程。乘客首先等车,然后上车,最后下车。当一个乘客在车上时,其他乘客就只有等他下车以后才可以上车。而线程与Mutex对象的关系也正是如此,线程使用Mutex.WaitOne()方法等待Mutex对象被释放,如果它等待的Mutex对象被释放了,它就自动拥有这个对象,直到它调用Mutex.ReleaseMutex()方法释放这个对象,而在此期间,其他想要获取这个Mutex对象的线程都只有等待。下面这个例子使用了Mut 阅读全文

C#多线程学习(五) 多线程的自动管理(定时器)

2011-04-09 20:44 by ※森林小居※, 263 阅读, 收藏, 编辑
摘要: Timer类:设置一个定时器,定时执行用户指定的函数。定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数。初始化一个Timer对象: Timer timer = new Timer(timerDelegate, s,1000, 1000); // 第一个参数:指定了TimerCallback 委托,表示要执行的方法;// 第二个参数:一个包含回调方法要使用的信息的对象,或者为空引用;// 第三个参数:延迟时间——计时开始的时刻距现在的时间,单位是毫秒,指定为“0”表示立即启动计时器;// 第四个参数:定时器的时间间隔——计时开始以后,每隔这么长的一段时间,TimerCallback所 阅读全文