自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 BackgroundWorker控件的使用方法介绍及示例程序

BackgroundWorker 可以用于启动后台线程。主要的事件及参数:  1.DoWork——当执行BackgroundWorker.RunWorkerAsync方法时会触发该事件,并且传递DoWorkEventArgs参数;  2.RunWorkerCompleted——异步操作完成或中途终止会触发该事件。如果需要提前终止执行后台操作,可以调用BackgroundWorker

2013-01-15 11:35:26 2338

原创 vs2010Winform打包安装步骤详解

1、  在vs2010 选择“新建项目”----“其他项目类型”----“Visual Studio Installerà“安装项目”:命名为:Setup1 。这是在VS2010中将有三个文件夹,     1.“应用程序文件夹”表示要安装的应用程序需要添加的文件;     2.“用户的‘程序’菜单”表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要

2012-10-11 11:05:03 2431 1

转载 三种Timer控件的区别

1、 System.Windows.Form.Timer:基于UI层的计时器,与UI在同一个线程,在timer的事件处理中,UI层失去响应。单线程组件,精度限定为 55 毫秒。事件由Tick触发。2、 System.Timers.Timer:基于服务器的计时器,与UI不在同一个线程。多线程组件。Elapsed 事件在 ThreadPool 线程上引发。如果 Elapsed 事件的处理时

2012-09-18 16:44:54 855

转载 给button加超链接

1.如果让本页转向新的页面则用:              2.如果需要打开一个新的页面进行转向,则用:                3.如果需要返回到上次打开的页面,则用:

2012-09-14 11:16:15 1062

转载 C#中的引用传递、值传递

一、传递参数  既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员(方法、属性、索引器、运算符和构造函数)更改参数的值,并保持该更改。二、传递值类型参数   值类型变量直接包含其数据,这与引用类型变量不同,后者包含对其数据的引用。因此,向方法传递值类型变量意味着向方法传递变量的一个副本。方法内发生的对参数的更改对该变量中存储的原始数据无任何影响。如果希望所调用的方法更改参

2012-09-05 10:52:30 624

原创 C#中数据库的更新和删除记录的两种实现方式

框图在上一篇文章中给出了,删除、更新和插入一样,也都有两种方式,一种是在数据源的编辑器中设定相应的方法来实现,另一种是自己写代码完成。下面先给出更新的代码:         test_dbDataSet.courseRow cro;            test_dbDataSet.facultyRow fro;            if ( (course.Text == "

2012-08-27 10:05:55 9037

原创 C#数据库插入的两种实现方式

上图就是以下代码所对应的窗体,包括后面的更新和插入。         test_dbDataSet.courseRow    cnewrow;      ///     这里的course和faculty是test_dbDataSet下面的两个数据表的名称            test_dbDataSet.facultyRow   fnewrow;            if (

2012-08-27 09:54:23 4735

原创 string.empty,""以及null的区别

在C#中,sting.empty和""是等价的,都是表示一个空字符串,是一个string的实例,不是空对象。     null是指空对象,不会为其分配内存。     因此,string str1=string.empty和string str2=null这两个含义是不一样的。前者是给str1分配的字节为0的内存,在内存中是有准确的指向的。而后者是没有分配任何内存的。

2012-08-26 09:25:21 507

原创 在一个datagridview中显示一个自定义的表格

SqlDataReader dr;            SqlConnection con = new SqlConnection(@"Data Source=477E67263580491\SQLEXPRESS;Initial Catalog=test_db;Integrated Security=True");            SqlCommand com = new SqlC

2012-08-25 15:15:28 1280

原创 lock最新解读

最近在研究.NET分布式缓存代码,正好涉及Lock,看了网上的文章,总结了一些Lock相关的知识,供大家一起学习参考。 一、Lock定义    lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。

2012-08-16 17:32:47 443

原创 C#中String类方法汇总

以下对C#中string类的方法进行汇总:1.string (char[])      使用指定的字符串数组构建一个新的string对象 2.int Compare(string a,string b,bool case)     比较字符串a,b,case为true时表示不区分大小写。当a>b返回正数,当a 3. bool EndsWith(string)         确

2012-08-15 10:17:33 937

原创 xml文件读取和写入的实现方式小结

xml文件的读取和写入主要又两种,一种是XMLDocument,另一种是XMLtextwriter/xmltextreader。1、XMLtextwriter/xmltextreader      读取程序:             string path="myxml.xml";            string str = "";            XmlText

2012-08-14 14:35:39 9483 1

原创 c#文件读取和写入的方式总结

以下程序都在VS2010上测试成功,如有问题欢迎留言讨论!1.使用FIleStream(它存储或者读取都是用BYTE数组或者是BYTE)      1.1文件写入部分:                                    string path = "C:\\test.txt";

2012-08-13 19:29:25 1357

原创 comboBox绑定数据库操作

不用代码实现绑定数据:        将combobox添加到Form中,然后点击combobox上的小三角按钮,打上使用数据绑定项的勾。下面有四个选项。分别是数据源,显示成员,值成员,选定值。       其中数据源等效于combobox属性中的datasource,就是选择数据库中的表;显示成员等效displaymember,是在combobox控件中显示的项。值成员等效于valu

2012-08-09 16:36:16 8748

原创 当传递具有已删除行的 DataRow 集合时,Update 要求有效的 DeleteCommand。

当用DataGridView显示表中的内容,并且使用BindingNavigator导航,BindingNavigator上的添加能正常使用,但是点击“删除”功能时,DataGridView显示该行被删除,但我们知道此时数据库中并没有删除,我们需要点击BindingNavigator上的“保存”,但是点击保存出现如下提示“当传递具有已删除行的 DataRow 集合时,更新要求有效的 Delet

2012-08-09 16:10:28 4258

转载 Socket通讯总结

以下是对socket通信的总结,总结得相当好哦! 1、  为了增加效率,可以考虑采用无异常的函数在.net2.0中Socket.Send,Socket.Receive 有了无异常的函数 Socket.Send(Byte[], Int32, Int32, SocketFlags, SocketError) Socket.Receive(Byte[], Int32, Int32,

2012-08-09 10:40:49 674

原创 SQL数据库中返回指定值的实现方法

最近在用VS2010做服务器,所以把一些程序整出来和大家分享,也为以后自己总结储备资料。如果有问题,欢迎留言讨论!                       SqlConnection cnn1 = new SqlConnection();            cnn1.ConnectionString = @"Data Source=477E67263580491\SQLEXPR

2012-08-08 15:30:33 1938

原创 xp系统拨号上网的设置步骤(电信)

这个分为硬件和软件两个部分,下面将对这两个部分进行说明。硬件(这里用的是外置的MODEM):    将电话线的一头插入MODEM的LINE端,而MODEM的另一端phone和电话机相连。MODEM的电源上电后,将MODEM接出来的九针或者二十五针串口线与电脑相连。这样硬件部分就算结束了。 软件部分:1、右击网上邻居,然后选择属性,选择“创建一个新的连接”,从而打开新建连接向导。

2012-08-04 16:58:12 1518

原创 vs2010连接数据库部分程序

SqlConnection cnn = new SqlConnection();                    cnn.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=Tr

2012-08-02 14:12:41 602

转载 socket同步异步,阻塞,非阻塞概念解析

第一种解释:Socket传输中拿TCP传输为例。假设服务器A 客户机B进行通信传输。首先需要在A机建立监听线程。监听某一端口,那么B机可以向A机发送通讯请求,B机连接到A机以后。A机可以从他的监听队列中取的一个监听对象。在A端拿到了这个Socket对象就可以进行接收跟发送数据了。这里问题就出现了。假如B端在请求A端的时候请求成功就发送一条数据。那么 A端就可以直接拿Socket对象得到他的信息

2012-08-01 10:40:50 614

原创 XmlDocument 节点的三个属性:InnerText、InnerXml、FirstChild.Value介绍

XmlDocument 节点其中有三个属性,InnerText、InnerXml、FirstChild.Value。XmlDocument doc = new XmlDocument();doc.LoadXml("content1content2");string str = "InnerText:" + doc.ChildNodes[0].InnerText +"\r\n" +

2012-07-30 19:46:09 2515

转载 MessageBox.Show 用法介绍

简介摘要:MessageBox.Show (String)显示具有指定文本的消息框。由 .NET Compact Framework支持。 MessageBox.Show (IWin32Window, String)在指定对象的前面显示具有指定文本的消息框。          MessageBox.Show (String) 显示具有指定文本的消息框。

2012-07-30 14:05:20 11514

转载 ACE反应器模式(4)

定时器的实现 通过Reactor机制,还可以很容易的实现定时器的功能,使用方式如下。 编写一个事件反应器,重载handle_timeout()方法,该方法是定时器的触发时间到时,会自动触发该方法。通过Reactor的schedule_timer()方法注册定时器。启动reacotr的handle_events()事件分发循环。当不想使用定时器时,

2012-07-28 11:33:30 381

转载 ACE反应器模式(3)

在服务器端使用Reactor框架 使用Reactor框架的服务器端结构如下: 服务器端注册两种事件处理器,ClientAcceptor和ClientService ,ClientService类负责和客户端的通信,每一个ClientService对象对应一个客户端的Socket连接。 ClientAcceptor专门负责被动接受客户端的连接,并创建ClientService对象。这样,在一

2012-07-28 11:32:47 353

转载 ACE反应器(Reactor)模式(2)

在Socket编程中,常见的事件就是"读就绪","写就绪",通过对这两个事件的捕获分发,可以实现Socket中的异步操作。 Socket编程中的事件处理器 在前面我们已经介绍过,在ACE反应器框架中,任何都必须派生自ACE_Event_Handler类,并通过重载其相应会调事件处理函数来实现相应的回调处理的。在Socket编程中,我们通常需要重载的函数有handle_input()

2012-07-28 11:31:17 334

转载 ACE反应器框架简介(1)

反应器(Reactor):用于事件多路分离和分派的体系结构模式。    反应器本质上提供一组更高级的编程抽象,简化了事件驱动的分布式应用的设计和实现。除此而外,反应器还将若干不同种类的事件的多路分离集成到易于使用的API中。特别地,反应器对基于定时器的事件、信号事件、基于I/O端口监控的事件和用户定义的通知进行统一地处理。ACE中的反应器与若干内部和外部组件协同工作。其基本概念是反应器框架

2012-07-28 11:08:47 449

原创 socket编程中的阻塞与非阻塞

通常的,对一个文件描述符指定的文件或设备, 有两种工作方式:阻塞与非阻塞。所谓阻塞方式的意思是指, 当试图对该文件描述符进行读写时, 如果当时没有东西可读,或者暂时不可写, 程序就进入等待状态, 直到有东西可读或者可写为止。而对于非阻塞状态, 如果没有东西可读, 或者不可写, 读写函数马上返回, 而不会等待。    在Tcp通信的例子中,很多时候就是采用的阻塞式的工作方式:当接收tcp

2012-07-28 10:24:16 640

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除