.Net
文章平均质量分 81
牧野之歌
这个作者很懒,什么都没留下…
展开
-
c#初学-多线程中lock用法的经典实…
一、Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。它可以把一段代码定义为互斥段(criticalsection),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。 在多线程中,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问题就是几个原创 2014-06-07 17:48:05 · 631 阅读 · 0 评论 -
winCE下实现全屏的C#代码
1 namespace TaskBarHide2 {3 public partial class MainForm: Form4{5 public MainForm()6 {7 InitializeComponent();8 }9 10 private void btnShow_Click(object sender,EventArgs e)11{12 Rectanglerect =原创 2014-06-07 17:47:59 · 925 阅读 · 0 评论 -
Winform 窗体最小化隐藏在桌…
ICO文件要放到 bin\Debug 下 1、给主窗体添加 NotifyIcon 控件 2、窗体加载事件里 private void MainF_Load(object sender, EventArgs e) { this.notifyIcon1 = new System.Windows.Forms.Notif原创 2014-06-07 17:47:41 · 593 阅读 · 0 评论 -
正则表达式基础
一个正则表达式就是由普通字符(例如字符 a 到z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。如:JScriptVBScript匹配/^\[ \t]*$/"^\[ \t]*$"匹配一个空白行。/\d{2}-\d{5}/"\d{2}-\d{5}"验证一个原创 2014-06-07 17:47:39 · 381 阅读 · 0 评论 -
C# 串口操作系列(1)
我们的开发环境假定为vs2005(虽然我在用vs2010,但避免有些网友用2005,不支持lambda,避免不兼容,就用2005来做例子) 一个基本的串口程序先画出界面。例如:串口操作系列(1)" /> 这里,波特率就定死几种好了。直接界面上添加2400,4800,9600,19200,38400,57600,115200comboPortName这里,为了我们的软件能通用原创 2014-06-07 17:46:44 · 696 阅读 · 0 评论 -
C# 代码控制BarTender9.4&nbs…
/// /// 打印 /// private void PrintInfo() { BarTender.Application btApp = new BarTender.Application(); BarTender.Format btFormat; try原创 2014-06-07 17:46:32 · 2397 阅读 · 0 评论 -
Linq To Sql 快速入门
本文不是一篇关于Linq to Sql的大百科,写本文的目的,是引导大家快速上手Linq toSql,所以不可能面面俱到去讲解Linq toSql。不过根据80-20定律,学会了本文的内容,基本就可以应付80%的工作了。另外,延续我一贯的风格,本文将通过案例的方式帮大家上手Linqto Sql。案例是一个“公告发布程序”。下面我们开始! Step1:建立数据库 在使用Linq原创 2014-06-07 17:46:30 · 388 阅读 · 0 评论 -
C#操作Excel Excel对象简介
Excel对象模型 (.Net Perspective)本文主要针对在VisualStudio中使用C# 开发关于Excel的应用程序本文的PDF下载地址:C#操作Excel2007.pdf来源:UnderstandingtheExcel Object Model from a .NET Developer'sPerspectiveExcel对象模型中的四大主要对象:Ap原创 2014-06-07 17:46:24 · 1685 阅读 · 0 评论 -
C# 委托应用总结
一、什么是委托 1.1官方解释委托是一种定义方法签名的类型。当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。您可以通过委托实例调用方法。1.2个人理解委托就是执行方法(函数)的一个类。事件是一种特殊的委托。二、如何申明委托 2.1 delegate public delegate int TestDelegate(int x, int y);2.原创 2014-06-07 17:46:22 · 343 阅读 · 0 评论 -
.Net中的反射、类型、装配件使用入…
该文章转载于http://www.csdnback.com/BlogView/wangchunlan2004/archive/2006/08/02/1012493.htmlMSDN:ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpcondiscoveringtypeinformationatruntime.htm提纲原创 2014-06-07 17:48:03 · 410 阅读 · 0 评论 -
C# keybd_event 用法及虚拟键值
[DllImport("User32.dll")]public static externvoid keybd_event(Byte bVk,Byte bScan, Int32 dwFlags, Int32dwExtraInfo); keybd_event(0x5b, 0, 0, 0);keybd_event(68, 0, 0, 0);keybd_event(0x5b, 0, 0x原创 2014-06-07 17:48:12 · 1285 阅读 · 0 评论 -
命名法
原文地址:命名法作者:王疏桐 匈牙利命名法、骆驼命名法和帕斯卡命名法一、匈牙利命名法: 广泛应用于象Microsoft Windows这样的环境中。 Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。 匈牙利命转载 2014-06-07 17:48:14 · 640 阅读 · 0 评论 -
C# 特性学习(二)
自定义了一个特性类: [AttributeUsage(AttributeTargets.Class|AttributeTargets.Method)] classWahAttribute:System.Attribute { private string description; public string Description原创 2014-06-07 17:47:37 · 425 阅读 · 0 评论 -
C# 特性的学习(一)
元数据,就是C#中封装的一些类,无法修改.类成员的特性被称为元数据中的注释.1、什么是特性 1)属性与特性的区别 属性(Property):属性是面向对象思想里所说的封装在类里面的数据字段,Get,Set方法。 特性(Attribute): 官方解释:特性是给指定的某一声明的一则附加的声明性信息。允许类似关键字的描述声明。它对程序中的元素原创 2014-06-07 17:47:35 · 425 阅读 · 0 评论 -
C#动态生成控件以及添加事件处理
有时候需要在程序运行到一定时候或者某个事件之后需要动态生成控件 在C#下一般方式是: private Button Db=new Button() ; Db.Name="Dy_Button" //设定名称 Db.Location=new Point(100,200);//设定位置 。。。。//其他属性设置 //这里添加消息处理原创 2014-06-07 17:45:31 · 3454 阅读 · 0 评论 -
C#程序打包.exe应用程序
1:新建安装部署项目打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图)此主题相关图片如下:2:安装向导关闭后打开安装向导,点击下一步,或者直接点击完成.3:开始制作 安装向导完成后即可进入项目文件夹:双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来原创 2014-06-07 17:45:23 · 599 阅读 · 0 评论 -
C#中comboBox绑定数据集后事件中取…
[http://rdc.hundsun.com/forum.php?mod=viewthread&tid=215&page=1]duansp发短消息加为好友duansp 当前离线注册时间2010-11-24 最后登录2012-1-14 阅读权限100 积分786 精华0 帖子119 版主原创 2014-06-07 17:45:06 · 1542 阅读 · 0 评论 -
键盘监控的实现Ⅲ——按键消息…
本文就是要解决这个问题,如何来实现按键消息的修改。这里我们要引入一个函数 Private Declare Subkeybd_event Lib "user32" (ByVal bvk AsByte, ByVal scanAs Byte, ByVal dwflags As Integer, ByVal dwextrainfo AsInteger) 这个函数的目的是模拟按键消息,就像真原创 2014-06-07 17:48:09 · 554 阅读 · 0 评论 -
控件的数据自动匹配问题
绑定数据源,根据已填写内容,自动完成数据匹配 private void BindData(Controls system_control,DataTable tb) { AutoCompleteStringCollection autoString = newAutoCompleteStringCollection();原创 2014-06-07 17:46:20 · 362 阅读 · 0 评论 -
值类型和引用类型的内存分配
1、 值类型和引用类型的区别 1. 值类型的数据存储在内存的栈中;引用类型的数据存储在内存的堆中,而内存单元中只存放堆中对象的地址。2. 值类型存取速度快,引用类型存取速度慢。3. 值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用4. 值类型继承自System.ValueType,引用类型继承自System.Object5.原创 2014-06-07 17:46:15 · 770 阅读 · 0 评论 -
C# SQLDMO类的使用
SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装Microsoft SQL Server 2000 数据库中的对象。SQL-DMO 允许用支持自动化或 COM的语言编写应用程序,以管理 SQL Server 安装的所有部分。SQL-DMO 是 SQL Server 2000 中的 SQLServer 企业管理器所使用的应用程序接口原创 2014-06-07 17:46:13 · 1024 阅读 · 0 评论 -
委托的妙文_让你知道如何发挥委托…
委托和事件在 .NetFramework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.NetFramework中的委托和事件、委托和事件对Observ原创 2014-06-07 17:45:59 · 368 阅读 · 0 评论 -
略谈SDK编程
SDK 就是Software Development Kit的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这个系列教程,我们后面只讨论广义SDK 的一个子集——即开发 Windows 平台下的应用程序所使用的 SDK。 呵呵,其实上面只是说了一个 SDK 大概的概念而已原创 2014-06-07 17:45:57 · 427 阅读 · 0 评论 -
Datatable的创建
方法一:DataTable tblDatas = new DataTable("Datas");DataColumn dc = null;dc = tblDatas.Columns.Add("ID",Type.GetType("System.Int32"));dc.AutoIncrement = true;//自动增加dc.AutoIncrementSeed = 1;//起始为1dc原创 2014-06-07 17:45:02 · 382 阅读 · 0 评论 -
C#程序中:怎么播放wav格式…
原文地址:C#程序中:怎么播放wav格式声音文件作者:王宾同在编写C#程序时,有的时候需要添加一点声音效果(如语音报时、鼠标点击声音等等),而且这些声音效果往往很短暂,这样的效果往往用WAV格式的声音文件就可以满足。如果放一个播放控件当然也可以,而且还可以实现更好的效果,但是这样无非大材小用,曾大程序的负担。下面来是一段如何调用WAV格式声音文件的代码, [DllIm转载 2014-06-07 17:47:24 · 1009 阅读 · 0 评论 -
深入C#学习:序列化(Serialize)、…
序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。 .NET框架提供了两种串行化的方式:1、是使用BinaryFormatter进行串行化;2、使用SoapFormatter进行串行化;3、使用XmlSerializer进行串行化。第一种方式提供了一个简单的二进制数据流以及某些附加原创 2014-06-07 17:47:21 · 807 阅读 · 0 评论 -
C# 事件机制
在所有关于C#事件机制的介绍中,我更倾向于发布者/订阅者(Publisher/Subscriber)这种描述。理解事件机制并不是一件容易的事情,它所涉及的思想值得我们好好去研究。本文资源来自《C#与.NET技术平台实战演练》——中国青年出版社谈到事件,我们涉及到两个角色:事件发布者(Publisher)和事件订阅者(Scriber),也可以说是事件发送者(Sender)和事件接收者(Re原创 2014-06-07 17:47:01 · 336 阅读 · 0 评论 -
C# 串口操作系列(2) --&…
第一篇文章我相信很多人不看都能做的出来,但是,用过微软SerialPort类的人,都遇到过这个尴尬,关闭串口的时候会让软件死锁。天哪,我可不是武断,算了。不要太绝对了。99.9%的人吧,都遇到过这个问题。我想只有一半的人真的解决了。另外一半的人就睁只眼闭只眼阿弥佗佛希望不要在客户那里出现这问题了。为什么会死锁呢,并发冲突。 我们要了解一下SerialPort的实现和串口通讯机制,在你原创 2014-06-07 17:46:46 · 444 阅读 · 0 评论 -
C# 数据源填充Excel表格
数据源是集合类型的,如ArryList,DataTable等: /// /// 根据Excel模板填充表格,模板中已写好表头 /// /// 模板的路径 /// 内存表格 /// 从Excel模板表格第flagRow行开始循环输出 private static void GetExc原创 2014-06-07 17:46:26 · 954 阅读 · 0 评论 -
WinForm编程之XML读写
1 using System; 2 using System.Data; 3 using System.Configuration; 4 using System.Web; 5 using System.Web.Security; 6 using System.Web.UI; 7 using System.Web.UI.WebControls; 8 using System.Web原创 2014-06-07 17:45:46 · 843 阅读 · 0 评论 -
用C#获得计算机名称和IP地址
Visual C#是微软公司推出的下一代程序开发语言,是微软.Net 框架中的的一个重要组成部分,在推出VisualC#的过程中,微软公司还推出了与之相对应的一个软件开发包--.Net FrameWorkSDK。此软件开发包里面封装了许多类、对象。Visual C#就是通过调用这些类、对象来实现许多比较强大的功能。在.Net FrameWorkSDK中提供了二个可用于网络编程的名称空间,一原创 2014-06-07 17:45:29 · 503 阅读 · 0 评论 -
C# 如何在 Windows&nbsp…
方法:通过改写注册表实现 一、给所有类型的文件添加自定义的右键菜单 HKEY_CLASSES_ROOT\*\shell HKEY_CLASSES_ROOT\*\shell\自定义的菜单名 HKEY_CLASSES_ROOT\*\shell\自定义的菜单名\command 值名称:(默认) 类型:REG_SZ 数据:关原创 2014-06-07 17:46:02 · 707 阅读 · 0 评论 -
C# 事务的使用技巧
什么是数据库事务 数据库事务是指作为单个逻辑工作单元执行的一系列操作。设想网上购物的一次交易,其付款过程至少包括以下几步数据库操作: ·更新客户所购商品的库存信息 ·保存客户付款信息--可能包括与银行系统的交互 ·生成订单并且保存到数据库中 ·更新用户相关信息,例如购物数量等等正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库原创 2014-06-07 17:46:17 · 398 阅读 · 0 评论 -
C# 引用类型作为函数参数时
在探讨本文的主题之前,先来介绍下C#中的值类型和引用类型众所周知C#中有值类型和引用类型,值类型有基础数据类型(诸如int,double,bool等)、结构体、枚举,引用类型有接口、类、委托。值类型全部在操作系统的栈空间中申请,而引用类型则在操作系统的堆空间中建立对象,然后在栈空间中申请一个指针指向这个对象的地址。因此C#的引用类型其实就如同C++的指针类型。下面我再来看看函数传原创 2014-06-07 17:47:14 · 470 阅读 · 0 评论 -
.net中从数据库money类型中读出来…
money类型的数据存在数据库中是以四位小位的形式,可能是为是更加精确吧,可是我们显示在页面上时,总不能也是四位小数吧,这和我们生活中的情景很不相符.怎样才能让它显示两位小数呢,下面有两种方法: CS文件中: Label1.Text=string.Format("{0:0.00}",ds.Tables[0].Rows[0][ "money "]); aspx文件中:¥<%原创 2014-06-07 17:45:08 · 716 阅读 · 0 评论 -
一共470多例winform 界面特…
原文地址:界面特效的源码">一共470多例winform 界面特效的源码作者:键盘上的舞蹈一共470多例winform 界面特效的源码。窗体与界面设计... 9实例001 带历史信息的菜单 10实例002 菜单动态合并 12实例003 像开始菜单一样漂亮的菜单... 14实例004 任务栏托盘菜单 15实例005 可以拉伸的菜单界面 16转载 2014-06-07 17:45:04 · 904 阅读 · 0 评论 -
DataTable使用技巧总结
Posted on 2008-07-31 22:01 飛雪飄寒 阅读(14464) 评论(4) 编辑 收藏 在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。 一、DataTable简介 (1)构造函数原创 2014-06-07 17:44:57 · 379 阅读 · 0 评论 -
如何用c# ConfigManage…
若要正确使用ConfigManager方法,首先在项目中添加System.Configuration 再Using System.Configuration 即可。读配置很简单,可以用ConfigurationManager.AppSettings[key] 来读出,可是写配置文件时,如果写成这样ConfigurationManager.AppSettings[key] = "111原创 2014-06-07 17:47:45 · 840 阅读 · 0 评论 -
C#中AS和IS关键字的用法
在程序中,进行类型转换是常见的事,C#支持基本的强制类型转换方法,例如:Object obj1 = new NewType();NewType newValue = (NewType)obj1;这样强制转换的时候,这个过程是不安全的,因此需要用try-catch语句进行保护,这样一来,比较安全的代码方式应如下所示:Object obj1 = new NewType();NewTyp原创 2014-06-07 17:47:26 · 1103 阅读 · 0 评论 -
C# 关键字--virtual
virtual关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。虚拟成员的实现可由派生类中的重写成员更改,而非虚拟成员是无法由派生类进行重写的,这一点是与Java不同的。Java语言中,只要在派生类中定义了与父类具有相同签名的方法,那么父类的方法就被重写。C#语言中,必须使用virtual关键字进行修饰,否则在派生类中进行重写会导致编译器报错。 虚方法或者虚属性原创 2014-06-07 17:46:10 · 365 阅读 · 0 评论