代码改变世界

随笔分类 -  C#

DataTable列按照int排序的解决办法

2011-11-09 16:55 by 假面Wilson, 403 阅读, 收藏, 编辑
摘要: 因为Datatable默认字段类型都是字符串,解决方案:DataTable.Columns.Add( "iPersonOrderSort ",System.Type.GetType( "System.Int32 ")); DataTable.Columns[ "iPersonOrderSort "].Expression = "Convert(iPersonOrder, 'System.Int32 ') "; DataView dv = DataTable.DefaultView;dv.Sort = 阅读全文

Winform Combobox+Tooltip 扩展tips功能

2011-07-02 19:50 by 假面Wilson, 1699 阅读, 收藏, 编辑
摘要: 创建Windows服务using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;using System.Threading;namespace QouShui.DLL.ComboBoxs{ /// <summary> /// 支持显示提示框的combob 阅读全文

C# winfrom 中datagridview中checkbox的使用方法

2011-06-17 16:20 by 假面Wilson, 840 阅读, 收藏, 编辑
摘要: 1、属性设置checkboxcolumn name:cb_check falsevalue:false truevalue:true datagridview中的readonly设置为false. 2、private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 0 && e .RowIndex != -1) { //获取控件的值 MessageBox.Show(this.dataGridView1.Rows[e.Row 阅读全文

C#中的@符号

2011-06-15 15:39 by 假面Wilson, 286 阅读, 收藏, 编辑
摘要: @符号是特殊而又实用的C#符号。 比如它在string中的应用。 1 字符@表示,其后的字符串是个“逐字字符串”(verbatim string)。 // 这个说法来自C# Primer 中文版(Stanley B. Lippman, 侯捷/陈硕合译) 2 对于逐字字符串字面变量(verbatim string literal ),我们不再需要使用“转义序列”就可以指定反斜线之类的特殊字符。@的这个特点使得在表示文件路径时很方便。 如: string str = @"C:\Test.txt"; 3 另外一点,用@表示的字符串能够跨越数行。这数行之内的空白字符(White S 阅读全文

datatable 中Remove和delete的区别

2011-06-13 11:55 by 假面Wilson, 1095 阅读, 收藏, 编辑
摘要: 两种删除方法Delete的使用是dataStore.Tables("ProcessedFile").Rows.Remove(dr)Remove的使用是 dr.Delete() 或 Delete的使用是 datatable.Rows[i].Delete(); Remove的使用是datatable.Rows.Remove(datatable.Rows[i]); DataRow.delete方法只是从行集合中删除了行并没有调用datarow的Acceptchanges方法 而table.rows.remove方法已经隐式得调用了Acceptchanges方法 一个DataRow 阅读全文

C#发送Email邮件方法总结 (转载)

2011-06-01 16:19 by 假面Wilson, 292 阅读, 收藏, 编辑
摘要: 通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现,本文列举了3种途径来发送:1.通过Localhost;2.通过普通SMTP;3.通过SSL的SMTP;下面一个一个来说:1.通过LocalHost1publicvoidSendMailLocalhost()2{3System.Net.Mail.MailMessage msg=newSystem.Net.Mail.MailMessage();4msg.To.Add("a@a.com");5msg.To.Add("b@b.com");6/*7* msg.To.A 阅读全文

Winform C# DatagridView首列无法隐藏的解决办法

2011-06-01 11:38 by 假面Wilson, 2634 阅读, 收藏, 编辑
摘要: 今天在Coding时想隐藏DatagridView首列,发现无法隐藏。后来查询发现DatagridView默认选中的就是首行首列,就算隐藏了机制也会去除这个属性。解决办法就是在绑定数据之后再进行隐藏的操作!dataGridView1.Columns[0].Visible=false; 阅读全文

.Net线程问题解答

2011-05-30 11:38 by 假面Wilson, 149 阅读, 收藏, 编辑
摘要: 很详细的线程教程,备忘!http://kb.cnblogs.com/page/68545/ 阅读全文

C#唯一随机数 和 PadLeft、PadRight 补足位数

2011-05-25 10:41 by 假面Wilson, 683 阅读, 收藏, 编辑
摘要: /// <summary> /// 获取一个唯一随机数 /// </summary> /// <returns></returns>private string GetRand() { Random rand = new Random(); return string.Format("{0}{1}",DateTime.Now.Ticks.ToString(), rand.Next(9999).ToString().PadRight(4,'0')); }有时候,为了让格式统一,当位数不足时,给予补足。比如:200 阅读全文

CheckedListBox控件的用法大全

2011-05-16 17:10 by 假面Wilson, 5437 阅读, 收藏, 编辑
摘要: 1.添加项checkedListBox1.Items.Add("蓝色");checkedListBox1.Items.Add("红色");checkedListBox1.Items.Add("黄色"); 添加Display和Value项目 public class CheckedListBoxItem { public string Display { get; set; } public string Value { get; set; } } checkedListBox1.Items.Add(newCheckedListBoxI 阅读全文

DatagridView控件加CheckBox

2011-05-16 16:01 by 假面Wilson, 1227 阅读, 收藏, 编辑
摘要: /// <summary> /// 设置DataGridView多一个CheckBox的列 /// </summary> /// <param name="dgv">要添加Checkbox列的DataGridView控件</param> public static void setCheckBoxHead(DataGridView dgv) { DataGridViewCheckBoxColumn colCB = new DataGridViewCheckBoxColumn(); CCFS.Framework.Util.Dat 阅读全文

判断参数对象是否为DBNULL

2011-05-16 14:52 by 假面Wilson, 347 阅读, 收藏, 编辑
摘要: null是C#关键字,是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。DBNULL表示类,表示空值.该类用于指示不存在某个已知值(通常在数据库应用程序中)。在数据库应用程序中,空对象是字段的有效值。该类区分空值(空对象)和未初始化值(DBNull.Value 实例)。例如,表可以包含具有未初始化字段的记录。默认情况下,这些未初始化字段具有 DBNull 值。String.Empty表示空字符串,该属性为只读.Convert.IsDBNULL(object value)是一个方法,就是判断参数对象是否为DBNULL对象类型,如果是返回true,不是返回false 阅读全文

c# ComboBox禁用鼠标滚轮

2011-05-10 10:36 by 假面Wilson, 2415 阅读, 收藏, 编辑
摘要: 主要方法是派生一个新的ComboBox类,使它不响应滚轮事件m.Msg == 0x020Anamespace DataTools{/// <summary>/// Log 的摘要说明。/// </summary>/// public class comboNoWheel: System.Windows.Forms.ComboBox,IMessageFilter{ public comboNoWheel() { Application.AddMessageFilter(this); } public bool PreFilterMessage(ref Message m) 阅读全文

NPOI、OpenXML SDK、OpenOffice SDK 操作Excel

2011-05-04 21:01 by 假面Wilson, 3850 阅读, 收藏, 编辑
摘要: 一、簡介要將資料寫入 EXCEL 檔案有許多的方法,但假如電腦不想安裝 Microsoft Office EXCEL,又想要寫入資料到 EXCEL,可以使用 NPOI、OpenXML SDK、OpenOffice.org SDK 等方式。本文透過簡單的範例 - 寫入資料到 EXCEL 讓大家初步了解如何使用這些 Library。附註 : 本文程式為 Windows Forms (.NET Framework 3.5 專案),開發環境為 Windows XP SP3、Visual Studio 2008 SP1。二、NPOINPOI 是可在 .NET 上的處理 Office 檔案的函式庫,由於 阅读全文

个人觉得“反射”最好的教程!

2011-04-18 17:53 by 假面Wilson, 366 阅读, 收藏, 编辑
摘要: 园子里写的最好的入门文章是JimmyZhang的系列,通俗易懂,细腻无出其右:.Net 中的反射(序章) - Part.1.Net 中的反射(查看基本类型信息) - Part.2.Net 中的反射(反射特性) - Part.3.Net中的反射(动态创建类型实例) - Part.4 阅读全文

Partial Class部分类

2011-04-18 11:29 by 假面Wilson, 385 阅读, 收藏, 编辑
摘要: Partial Class ,部分类 或者分布类。顾名思义,就是将一个类分成多个部分。比如说:一个类中有3个方法,在VS 2005将该类中3个方法分别存放在3个不同的.cs文件中。这样做的好处:1、一个大型的项目类可以同时分成不同的区块交由不同的程序员拽写,同时进行。2、若由系统自动产生的source,可以用独立的Partial Class加入,而不必更改到原先类。3、当类(Class)很大时,可以用Partial Class做功能性划分,这也是一种不错的分类方式。 如果您在开发项目的公用函数库,用于公用函数库的内容越丰富越好,但这不可能一下子就写好,需要一点一点的积累,这时就可以使用Part 阅读全文

.Net 中的序列化与反序列化

2011-04-15 11:25 by 假面Wilson, 212 阅读, 收藏, 编辑
摘要: 转载自:http://www.cnblogs.com/chjw8016/archive/2008/02/23/1078204.html.Net 中的序列化与反序列化一、概述当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。 把对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为对象的过程称为对象的反序列化。二、对象的序列化主要有两种用途: 1)把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;我们经常需要将对象的字段值保存到磁盘 阅读全文

C#实现组合键

2011-04-14 12:30 by 假面Wilson, 766 阅读, 收藏, 编辑
摘要: //Ctrl+Hif((Control.ModifierKeys&Keys.Control)!=0&&e.KeyCode==Keys.H){MessageBox.Show("Ctrl+H");}//Alt+Hif((Control.ModifierKeys&Keys.Alt)!=0&&e.KeyCode==Keys.H){MessageBox.Show("Alt+H");}//Shift+Hif((Control.ModifierKeys&Keys.Shift)!=0&&e.KeyC 阅读全文

浅谈持久化

2011-04-12 11:01 by 假面Wilson, 583 阅读, 收藏, 编辑
摘要: 一、应用软件结构的发展1、单层结构;最初应用软件只是在大型机上的单层应用程序,大都采用文件系统存储数据。2、双层结构;20世纪70年代,随着数据库的普及,原来的单层结构发展为双层结构。在双层结构中,实现了数据存放与应用程序的分离。3、三层结构;在三层结构中,把原来的应用程序层分成了视图层和业务逻辑层、数据库层维持不变;4、四层结构;随着软件行业的蓬勃发展,人们感觉这样频繁的操作数据库和大量的底层代码的重复书写极大的浪费了程序人员的心血,Hibernate,Spring,等框架的应运而生了。在Hibernate中又将原来原业务逻辑层分成了业务逻辑层和持久层。(现在主流的分层结构依然是三层结构)二 阅读全文

SharpZipLib 的使用

2011-04-07 17:47 by 假面Wilson, 8386 阅读, 收藏, 编辑
摘要: SharpZipLib 是一个免费的Zip操作类库,可以利用它对 ZIP 等多种格式进行压缩与解压。下载网址:http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx。目前的版本为0.86。1、创建zip文件,并添加文件:using(ZipFilezip=ZipFile.Create(@"E:\test.zip")){zip.BeginUpdate();zip.Add(@"E:\文件1.txt");zip.Add(@"E:\文件2.txt");zip.CommitU 阅读全文