- 博客(25)
- 资源 (26)
- 收藏
- 关注
原创 第二章、线程和同步(2.2、异步委托)
创建线程的一种简单方式是定义一个委托,通过BeginInvoke方法异步调用它:Delegate类支持异步调用方法BeginInvoke,委托被异步调用之后,在后台,Delegate类会创建一个执行任务的线程。通俗的说,委托异步调用的时候会新启动一个新线程来执行委托对象所指向的方法。委托使用线程池来完成异步任务。线程池详见本章后面的内容。为了演示委托的异步特性,我们首先定义一个方法TakesA...
2013-03-22 13:59:16
1249
原创 第二章、线程和同步(2.1、多线程概述)
2.1、多线程概述2.1.1、使用多线程的原因在开发windows应用程序的时候,经常会遇到一些通讯类的需求。比如应用程序中有一个功能是要监听来自别的应用的TCP请求,那么一旦开始监听之后,程序就会处于等待状态,但是用户不希望点击【监听】按钮之后,就一直让整个程序都处于等待状态,而不能在应用程序上面做别的事情,直到接收到来自客户端的一个请求,服务器返回一个响应为止。用户非常希望可以在这个过...
2013-03-18 10:48:54
1096
原创 第十四章、GDI+
14.1、Graphics类当希望使用GDI进行绘图的时候,一定要先定义一个Graphics的对象,这个对象主要是用来创建一个进行绘图的容器,这个对象如果是窗体创建的,那么该对象调用画图函数画出的图就在窗体中,如果这个对象是某个容器创建的,那么该对象调用画图函数画出的图就在容器中。14.1.1、定义Graphics类的对象对于主窗体Form,有如下几种方式来定义该对象:(1)、...
2013-03-18 10:33:08
855
原创 第一章、C#委托和事件(Delegate、Event、EventHandler、EventArgs)
14.1、委托当要把方法作为实参传送给其他方法的形参时,形参需要使用委托。委托是一个类型,是一个函数指针类型,这个类型将该委托的实例化对象所能指向的函数的细节封装起来了,即规定了所能指向的函数的签名,也就是限制了所能指向的函数的参数和返回值。当实例化委托的时候,委托对象会指向某一个匹配的函数,实质就是将函数的地址赋值给了该委托的对象,然后就可以通过该委托对象来调用所指向的函数了。利用委托,程序...
2012-12-08 14:10:19
23581
原创 第四章、SQL Server数据库查询大全(单表查询、多表连接查询、嵌套查询、关联子查询、拼sql字符串的查询、交叉查询)
4.1、查询的类型declare @value as intset @value = 50select 'age:'as age,2008 years,@valueas va--这种查询时跟表没有关系的select 'age:'as age,2008 years,@valueas vafrom student--这种查询涉及到表,表有多少行就查询出多少行,但是没有涉...
2012-11-15 18:30:19
25796
原创 第三章、关系数据库简介
在数据库的最终产生过程中,有两类基本的模型,正是由于这两类基本的模型的建立,才最终产生了数据库。3.1、概念模型概念模型是数据库的第一个模型,它是从用户的角度出发,对数据和信息来建立概念模型从而实现数据库建立的第一个模型。概念模型的建立过程简要的说就是对现实问题进行分析,抽象出实体及其属性,然后找出实体之间的联系,画出ER图。它主要是数据库的分析和设计。一般发生在业务需求调查阶段。3....
2012-11-15 18:05:21
1244
原创 第二章、SQL Server Management Studio用法(企业管理器)
企业管理器其实是一个客户端,主要就是两个功能,一个是管理服务器的,第二个是查询分析器。2.1、管理服务器在object explorer这个小的板块里面,可以去连接数据库服务器,一般根据IP地址、用户名、密码去连接,在连接前要确定是以Windows方式还是 Sql Server 方式连接,有可能由于一些原因连接不上,但是当以某种方式连接上以后,就可以根据服务器分配给连接用户的权限来对服务...
2012-11-15 18:03:41
3654
原创 第一章、关于SQL Server数据库的备份和还原(sp_addumpdevice、backup、Restore)
在sql server数据库中,备份和还原都只能在服务器上进行,备份的数据文件在服务器上,还原的数据文件也只能在服务器上,当在非服务器的机器上启动sql server客户端的时候,也可以通过该客户端来备份和还原数据库,但是这种操作实质是在服务器上进行的,备份的数据文件在服务器上,还原的数据文件也只能在服务器上,这个原则不会变,只是使用了客户端的一个工具来操作这个过程而已。1.1、备份数据库...
2012-11-15 17:59:23
7986
原创 第十三章、C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
XML文档是一种通用的文档,这种文档既可以用.config作为后缀也可以用.xml作为后缀。XML文档主要由元素节点和节点的属性共同构成的。它有且仅有一个根节点,其他的节点全部都是根节点的子节点或者子子节点;每一个节点有开始就一定会有结束,不可能出现有开始无结束的节点,节点主要有两种类型:有InnerText的<city>……</city>和没有InnerText的<...
2012-11-14 18:45:17
9611
原创 第十二章、C#异常处理(try...catch...)
12.1、异常的嵌套try……catch……是可以嵌套的,如果内层try出现异常,内层的catch就会捕获这个异常,然后处理,处理完成之后,在外层的try中就认为内层的都是正常的,外层不会出现异常;但是如果在内层try中出现异常之后,如果在catch中用throw抛出了异常,那么内层的执行就从throw开始终止了,哪怕内层还有很多没执行,哪怕内层还有循环,也直接跳到外层的catch中了,外层就...
2012-11-14 09:50:14
2319
原创 第十一章、C#对话框(OpenFileDialog、SaveFileDialog 、ColorDialog、FontDialog)
11.1、打开文件对话框 OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"; if (ofd.ShowDialog() == DialogResult.OK)...
2012-11-14 09:47:51
2600
原创 第十章、文件与流(FileStream、StreamWriter 、StreamReader 、File、FileInfo、Directory、DirectoryInfo、Path、Encoding)
10.1、FileStream10.1.1、定义一个流对象Stream fs = newFileStream(@"D:\FINISH.TXT",FileMode.Open,FileAccess.Read,FileShare.Read);说明:Stream是父类,FileStream是子类,父类是一个抽象类,子类才是实现类。FileMode是一个枚举类型,它有很多值:Open...
2012-11-13 18:12:19
2348
原创 第八章、ADO.NET(SqlConnection、SqlCommand、SqlDataAdapter、SqlTransaction、SqlParameter、DataSet)
8.1、ADO.NET的命名空间和数据库访问ADO.NET是.NET平台提供的一种数据库访问技术。下面按照命名空间的分类来说明ADO.NET的各类数据库访问:8.1.1、System.Data定义和部分实现了ADO.NET体系结构的类、接口、委托和枚举。8.1.2、System.Data.SqlClient Sql Server的.NET Framework数...
2012-11-08 17:12:47
3579
原创 第九章、Windows应用程序(9.17节~9.20节:Timer、TreeView、ListView、DataGridView)
9.17、定时器Timer9.17.1、System.Windows.Forms.Timer9.17.1.1、属性Name:唯一标识该控件的属性,在程序中就是通过该属性来调用控件的。Interval:触发Tick事件的频率,每隔Interval毫秒触发一次Tick事件。Enabled:true表示该定时器正常,false表示定时器失效。该属性默认为false,当设置为true的...
2012-10-29 17:08:22
1902
原创 第九章、Windows应用程序(9.6节~9.16节:TextBox、RadioButton、CheckBox、ComboBox、ProgressBar、ImageList、DateTimePick)
9.6、按钮Button9.6.1、属性Name:唯一标识该控件的属性,在程序中就是通过该属性来调用控件的。Text:控件上显示的文本。Enabled:控制该控件是否可用。Visible:确认该控件是否可见。TabIndex:确认该控件在该窗体中占用的tab键顺序索引。9.6.2、事件最常用的就是Click事件,其他的不用。9.7、标签Label、LinkLab...
2012-10-25 16:54:57
1433
原创 第九章、Windows应用程序(9.2节~9.5节:菜单MenuStrip、右键菜单ContextMenuStrip、工具栏ToolStrip、状态栏StatusStrip)
9.2、菜单MenuStrip在工具箱中拖一个MenuStrip到窗体中来,就可以自己定义菜单项了,任何一个菜单项都是ToolStripMenuItem的对象,包括主菜单、子菜单、子子菜单。9.2.1、属性(1)、Name、Text、ToolTipTextName是菜单项在程序中的应用名字。是唯一的。Text是菜单的文本,在文本中可以加上:(&一个字母)来设定Alt +...
2012-10-23 21:26:39
1635
原创 第九章、Windows应用程序(9.1节:Form窗体:属性、事件、模态窗体、多文档窗体)
在C#中,万事万物皆对象。窗体是一个类,是继承于Form的一个类,在这个类中,如果添加了很多的控件,这些控件就都是该窗体类的属性,当创建了窗体的实例的时候,才会去调用构造函数来创建这些控件的实例。控件、窗体都是类,这些类的实例才是具体的对象。因为窗体是一个类,所以在窗体类中还可以有很多的字段、属性、函数、事件。在类的内部可以相互调用,在类的外部只能调用public、intern...
2012-10-23 17:53:57
3396
原创 第七章、C#.NET面向对象详解(public、internal、protected、private、abstract、interface、base、new、virtual、overwrite)
7.1、类的基本特性概述在现实世界中,事物都是分类的,都是由各种类型的事物共同构成的。同一类型的事物会有一些共同的属性和行为,我们把这些共同的属性和行为抽象出来加以封装,就构成了类。从一个类继承下去,把原来的类中的某些方法重载或者覆盖,或者添加一些新的属性和方法,那么就会产生很多新的类。可以用父类的引用指向子类的对象,这个就是多态。7.2、定义一个类类是对同一类型的事物共同的属性和行为...
2012-10-18 15:52:53
7577
原创 第六章、C#.NET提供的常用类(Math)
在C#.NET中,Framework中提供了很多的常用类,下面介绍一部分:6.1、Math函数:(1)、public static double Round (double value,int digits)当digits小于 0 或大于 15会出现异常。当digits==0时,一定会进行四舍五入。当digits!=0时,且大于等于小数位数,那么就保持浮点数不变。当di...
2012-10-17 11:34:17
1374
原创 第五章、C#数据类型的转换(Parse、Convert)
在C#中,允许数据类型之间相互转换,当数据从低精度转换成为高精度的时候,可以不做任何的处理,隐式的转换。但是当高精度向低精度转换的时候,一定要显式的转换。5.1、高精度数值转换成为低精度数值(1)、double转换成为floatfloat a = (float)13.55;float a = 13.55f;(2)、double转换成为intint b = (int)2...
2012-10-17 11:24:18
3332
1
原创 第四章、C#变量、常量、流程控制(if、switch判断、for、while循环)
4.1、变量定义一个变量之后,系统会根据变量名分配地址,根据数据类型分配存贮空间。值就存放在空间中。4.2、常量定义常量的方法:Const datatype name = value;常量一般都是定义在类里面函数的外面,作为全局的,甚至可以作为public static的被所有的类调用。常量在定义的时候一定要初始化,以后就永远是这个值了。不能对已经定义好的常量再次去赋...
2012-10-16 18:32:20
1941
1
原创 第三章、C#的运算符
3.1、算术运算符和算术表达式两个值在进行算术运算的时候,先把低精度的转换成为高精度的,然后再运算,最终的结果是高精度的结果。算术运算符有如下几个:+、-、*、/、%注意:(1)、两个整数相除的结果为整数,取的是整数部分,不需要四舍五入。(2)、求余数用%,这个可用于浮点数,但是一般都是用于整数。3.1.1、自加、自减:++、--以++为例:Int b = ...
2012-10-16 17:49:40
760
原创 第二章、C#的数据类型(2.7节~2.13节:引用类型:数组、string、DateTime、IList、IDictionary)
2.7、引用类型概述引用类型的变量与值类型的变量不同,值类型的变量存放的是值,但是引用类型的变量存放的是一个地址(它的值是一个地址),这个地址是指向一个对象的,这个对象包括类对象、数组对象、字符串对象。引用类型的变量定义之后,只是为这个变量分配了一个存放地址的空间,初始值是null,只有该变量被创建了之后,才会指向实际的对象。在引用类型的变量被创建之前,引用类型的变量是默认为null的。对...
2012-10-16 15:12:49
2360
1
原创 第二章、C#的数据类型(2.1节~2.6节:值类型以及值类型变量的作用域与生存期)
2.1、C#语法概述(1)、在C#中,编译器是忽略空白符的(包括空格和制表符),所以写程序的时候,可以按照自己的习惯来格式化代码,以满足自己的需求。比如一个变量与一个符号之间可以是一个空格也可以是多个空格,也可以没有空格,但是建议有一个空格。(2)、在C#中,任何一个语句都是以分号结束的,所以在一行上可以写多条语句,每个语句以分号结束即可。但是一般都是一行写一条语句,不能把一条语句分多行写...
2012-10-11 17:24:26
1902
1
原创 第一章、C#解决方案的结构
1.1、解决方案的结构简介在.NET中,解决方案是管理各个项目,每一个非网站项目都对应着一个命名空间,网站则是没有命名空间的,里面全是类。项目是管理各种类的,命名空间里面就是各种类。在VS.NET2003中,新建一个空的解决方案,然后在解决方案里面添加项目,一般添加的项目类型主要有以下几种:windows应用程序、控制台应用程序、类库、Web应用程序、网站等。1.1.1、windows应用...
2012-08-29 15:03:29
7255
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅