编程技巧 - 文章列表

  • .Net 2.0 原汁原味读取注册表

    在.Net 1.x当中,使用Microsoft.Win32.RegistryKey类的GetValue方法读取注册表数据时,其实数据都是经过“处理”的;\n  例如,某个字符串数据本来的值是%SystemRoot%System32IoLogMsg.dll但是用GetValue方法得到的数据却是C:WINDOWSSystem32IoLogMsg.dll\n  也就是说,在读取注册表中的字符串时,系统会自作主张地替你展开环境变量。\n  这的确省去我们调用Environment.ExpandEnvironmentVariables方法的麻烦,但是反过来,当我们希望原封不动地拷贝一个注册表的字符串时

  • C#应用:获取cpu序列号,硬盘ID,网卡MAC地址

    private void GetInfo() { string cpuInfo = “”;//cpu序列号 ManagementClass cimobject = new ManagementClass(“Win32_Processor”); ManagementObjectCollection moc = cimobject.GetInstances(); foreach(ManagementObject mo in moc) { cpuInfo = mo.Properties[\"ProcessorId\"].Va

  • ASP.NET2.0数据库入门之SqlDataSource

    当使用SqlDataSource控件选择数据时,可以从两个属性:ConnectionString和SelectCommand开始,如下所示:\n<asp:SqlDataSource ID=”MySourceControlName” Runat=”server”ConnectionString=”Server=MyServer ;Database=Northwind”SelectCommand=” SELECT Fieldl, [Field With Space] FROM MyTable”></as

  • C#技巧:给datagrid的按钮列添加css

    今天改界面,发现datagrid可以用cssclass设置css风格,但是按钮列没有cssclass属性。忙活了半天,发现只能用程序设置按钮列属性。\n  设置方法如下(C#版本)\n  为datagrid添加ItemCreat事件,在ItemCreat事件里面添加如下代码\nprivate void dgBoxList_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if(e.Item.ItemType== ListItemType.Item

  • C#应用:读取指定盘符的硬盘序列号

    using System;using System.IO;using System.Runtime.InteropServices;using System.Text;using Microsoft.Win32;\nnamespace Wjb.ReadOrWriteIniAndReg{/**/////// 读取指定盘符的硬盘序列号///public class HardDiskVal{[DllImport(\"kernel32.dll\")]private static extern int GetVolumeInformation(string lpRootPathName,string l

  • Visual C#2005快速入门之switch语句

    某些时候,在嵌套使用if语句时,所有if语句看起来都非常相似,因为它们都在对一个完全相同的表达式进行求值,惟一的区别是每个if语句都将表达式的结果与一个不同的值进行比较。例如:\nif (day == 0) dayName = “Sunday”;else if (day == 1) dayName = “Monday”;else if (day == 2) dayName = “Tuesday”;else if (day == 3) …else dayName = “Unknown”;

  • Asp.Net中NHiernate的Session的管理

    NHibernate中的Session,在我的理解似乎就相当于数据库中连接。因为它也有Open/Close的方法,我没有研究NHibernate的源码,不知道这种理解是否有误?我在网上搜了很多的关于Session的管理,大多都是在我需要数据库操作的时候,就OpenSession(),操作完后就CloseSession().这有点拟似如我们刚开始学习ADO.NET的时候,要Connection对象Open(),数据处理完后就Close().但是这里就带来了一个弊端,因为Connection的频繁的开关是非常消耗系统资源的。我记得以前在制作一个数据的录入界面的时,因为这个录入的界面数据元素比较多,

  • C#3.0新特性之隐式类型局部变量的使用

    首先说明一下,此新特性的专题基于MS五月份分布的C#3.0规范,但是官方中文版还没有出来,结合自己的实践和理解,希望能和大家一起分享某些前沿的东东,很有可能一些地方会出错,望抛砖。  在C# 3.0里面, 可以对局部变量进行隐式类型声明, 就是在声明时可以不指定该变量的类型, 变量在初始化的时候会由编译器从表达式的上下文中推出真正的类型, 对开发者来说, 无疑是简化了很多, 主要是通过新的关键字var, 有如下面的例子:\nvar i = 5;var s = “Hello”;var d = 1.0;var numbers = new int[] {1, 2, 3}; v

  • C# 中返回上一页问题代码

    在C# Web程序中,如为页面按钮写返回上一页代码\nthis.RegisterClientScriptBlock(“E”, “<script language=javascript>history.go(-2);</script>”);\n其中,history.go(-2),要写为-2,因在按钮事件触发前,已刷新一次页面,所以应是-2。\nResponse.Write(“<script language=javascript>history.go(-2);</script>&#8221

  • VC#2005快速入门之使用if语句

     如果想根据一个布尔表达式的结果选择执行两个不同的代码块,就可以使用if语句。  理解if语句的语法  if语句的语法格式如下(if和else是关键字):\nif ( booleanExpression ) statement-1;else statement-2;