一、常用快捷键
二、字符串方法
正则表达式
C#中的正则表达式
数组
ArrayList类
动态添加和删除元素
3个构造器:
ArrayList():默认构造器,会以默认大小(16位)初始化内部数组
Arraylist(icollection):用一个ICollection对象来构造,并将该集合的元素添加到ArrayList中。
ArrayList(int ):用指定的大小初始化内部数组。
ArrayList常用属性
capacity:可包含的元素数
count:实际包含的元素数
isfixedsize:是否具有固定大小
isreadonly:是否只读
issynchronized:是否同步对Arraylist的访问
item:获取指定索引处的元素
syncroot:可用于同步Arraylist访问的对象
ArrayList常用方法
add(object value):将对象添加到集合的结尾处,允许null值作为有效值,并且允许重复的元素
insert(int index,object value):将元素插入集合指定的索引处
clear():移除所有元素
remove(object value):移除特定对象的第一个匹配项
removeat(int index):移除指定索引处的元素
removerange(int index,int count):移除一定范围的元素
contains(item):包含某个元素
哈希表
键/值对的集合,键不能为空,但值可以为空
初始化:hashtable(); hashtable(int capacity)
常用属性
count:键值对的数目
isfixedsize:是否具有固定大小
isreadonly:是否只读
item:设置或获取与指定键相关联的值
Keys:获取包含hashtable中的键的ICollection
values:获取包含hashtable中的值的ICollection
常用方法
add(key,value):添加指定的键和值元素
clear():移除所有元素
remove(key):移动指定键的元素
contains(key):是否包含特定键
containsvalue(value0):是否包含特定值
对象
Windows窗体
设置启动窗体:program.cs的Run(Form mainForm(要启动的窗体))方法用于在当前线程上运行标准应用程序。
如:Rum(new Form1()) 启动Form1;
Icon属性:系统左上角默认图标
FormBorderStyle:标题栏属性。none,隐藏标题栏 sizable:可调整大小的边框。sizabletoolwindow可调整大小的工具窗口边框
FixedToolWindow:不可调整大小的工具窗口边框,FixedSingle:固定的单行边框。FixedDialog:固定的对话框样式的粗边框。Fix3D:固定的三维边框
StartPosition:窗体的显示位置 centerparent:在父窗体中居中。 centerScreen:在当前显示窗口中居中 manual :位置有location属性决定
windowsDefaultBounds:定位在windows默认位置,其边界由windows默认决定
windowsDefaultLocation:定位在windows默认位置,其尺寸在窗体大小中指定
Size:窗体的大小,用int类型数据定义,不要使用单精度和双精度进行设置
BackgroundImage:窗体的背景图片
Show():窗体的显示
Hide():窗体的隐藏
Load()事件:可以分配窗体的使用资源
FormClosing()事件:窗体关闭时,可释放资源,保存信息或更新父窗体。若要防止窗体关闭,CancelEventArgs的Cancel属性设置为True.
MDI窗体:多文档界面,容器是父窗体(IsMdiContainer=true),只能由一个父窗体,其他子窗体不能移出父窗体的框架区域。
子窗体:通过mdiparent确定父窗体
排列子窗体:LayountMdi(Mdilayout value)
Mdilayout枚举值:
Cascade:所有子窗体均层叠在MDI父窗体工作区
TileHorizontal:所有子窗体水平平铺在MDI父窗体工作区
TileVertical:所有子窗体垂直平铺在MDI父窗体工作区
创建继承窗体:
为了从一个窗体继承,包含该窗体的文件或命名空间必须已编译成可执行文件或DLL
编程方式创建窗体继承:在类定义中将引用添加到继承窗体,引用应包含该窗体的命名空间.窗体名 如 public Form2:test.Form1 (Form2 继承Form1)
继承选择器创建继承窗体
控件
窗体 AcceptButton属性:设置窗体“接受”按钮,按下Enter键触相当于单击该按钮 Form1.AcceptButton=button1
CancelButton属性:设置窗体“取消”按钮 按下"ESC"相当于单击该按钮 Form1.CancelButton=button2
TextBox:
PasswordChar属性:设置显示密码字符,如“@”,
UseSystemPasswordChar属性:设置为true,显示密码“*”
Multiline属性:是否多行数据
SelectionStart:选择开始位置
SelectionLength:选择文本的长度
RichTextBox
Multiline:是否显示滚动条。默认true,显示滚动条
ScrollBars: 设置滚动条的属性,none ,不显示滚动条,Both,两个滚动条都显示,horizontal 水平滚动条,Vertical 垂直滚动条
ForcedHorizontal:wordwrap为false时,显示水平滚动条,文本未超出时,显示为灰色
ForcedVertical:始终显示垂直滚动条,文本未超出时,显示为灰色
ForcedBoth:始终显示垂直滚动条,wordwrap为false时,显示水平滚动条。文本未超出时,均为灰色
WordWrap:是否自动换行,若为true,不论scrollbars属性是什么,水平滚动条都不显示
SelectionFont:文本的字体,大小,字样
SelectionColor:字体的颜色
LinkClicked事件:编写超链接点击事件(超链接必须“Http://”开头,且http的前面不能用数字和字母,只能是空格或汉字,否则无法实现超链接操作)
SelectionBullet属性:可将选定的段落设置为项目符号列表格式。selectionIndent 和selectionRightindent 设置段落相对于空间左右边缘缩进
ComboBox:选择列表框,
dropdownstyle: simple: 控件的列表部分总是可见。dropdown:默认值,可编辑文本框部分,点击右侧箭头显示列表部分。dropdownlist ,不能编辑文本框。呈现下拉框的样式
selectall():可以选择combobox控件的可编辑部分的所有文本
NumericUpDown:数值选择控件
maximum:最大值
minimum:最小值
decimalplaces 设置小数点后显示几位小数,默认是0,不能小于0或大于99.否则抛异常
listbox
horizontalscrollbar:设置水平滚动条
scrollalwaysvisible:设置 垂直滚动条
selectionMode: 是否允许多选。 None,无法选择项,one 只能选择一项,multisimple:可以选择多项 multiextended:可以选择多项,可以使用shift,ctrl键和箭头键来选择
MultiColumn:是否支持多列
panel容器控件: 为其他控件提供分组功能,可以有滚动条。Enabled 属性设置为false,z容器中所有控件将被设置为不可用状态
groupbox分组控件:通过分组细分窗体功能,包含的空间集周围总是显示边框,可以显示标题,但没有滚动条。
tabcontrol:选项卡控件, appearance属性设置按钮样式,Buttons 三维外观样式,flatbuttons,平面按钮外观
tabpage:选项卡, showtooltips 显示提示信息。 tooltips 提示内容
menustrip:菜单控件
toolstrip:工具栏控件,包含8中工具控件,可以设置显示图像。
statusstrip:状态栏控件,可以包含toolstripdropdownbutton ,toolstripsplitbutton,toolstripprogressbar控件
iamgelist:存储图像资源,并在空间显示。images属性包含所有图片,每个图片可以通过索引或键值访问。所有图像同样大小显示由imagesize属性设置,add(image)添加图片,removeat(index) 从列表中移出图像,clear()移除所有图片
listview:显示带图标的选项列表
view: details:详细信息显示 LargeIcon:大图标显示,下面由标签,默认方式 list:显示一个小图标,右边带一个标签,各项排列在列中,没有列箭头 smallicon:显示一个小图标,右边带一个箭头 tile:显示为完整大小的图标,右边带项标签和子项信息
add(text,image):添加新项
removeat(index):移除指定索引的项
clear():移除所有项
selected:是否选中
smallimagelist,largeimagelist,stateimagelist:列表中使用的各种图片,与imagelist控件绑定,通过imageindex,stateimageindex引用到列表项。
gridllines:行和列之间是否显示网格线
fullrowselect:单击某项是否选择其所有子项,必须将view设置为details
groups:分组集合 add(listviewgroup),添加分组,removeat(index)移除分组 ,clear()清空分组
listviewgroup:分组
showgroups:临时禁用分组功能,设置为false
treeview:显示节点层次结构,每个节点可以包含子节点,包含子节点的叫父节点
add(treenode):添加节点
remove(treenode):删除节点
afterselect事件中,使用eventargs返回对单击节点对象的引用(e.node)
imagelist:设置控件使用的imagelist控件属性
imageindex,selectimageindex:设置正常和展开状态下节点的图像,或选定状态下的节点图像
datetimepicker
format:显示日期和时间格式 值为datetimepickerformat枚举 (time,以用户系统设置的时间格式显示日期时间值。short:系统设置的短日期格式显示日期时间,long:系统设置的长日期格式显示日期时间。custom:自定义格式显示日期时间)
showupdown:是否在控件内用按钮调整时间值
customformat:自定义日期时间格式,format 属性为cutom 才能设置次属性
text:返回与控件格式相同的日期时间完整值
value:返回时间,日期部分值。方法包含,year(),month(),day(),toshortdatestring(),toshorttimestring()使用tostring()可将信息转换成显示给用户的字符串
Monthcalendar:显示一个月历,
showweeknumbers:是否显示周数
calenderdimensions:同时显示多个月,最多显示12个月 通过size()设置水平,垂直方向显示的月份个数。一次值显示一个日历年,最先可现实12个月,行,列的最大乘积是12,对于大于12的,将在最合适的基础上修改显示
selectionstart,selectionend:要在控件中选择日期范围,必须设置这两个属性,分别设置日期起始和结束日期
errorprovider:显示有错误发生
seterror(control ,msg):设置指定控件的错误描述字符串
helpprovider 调用帮助文档 按F1打开帮助文档
helpnamespace:设置与helpprovider对象关联的帮助文档名。
setshowhelp(control, bool):是否显示指定控件的帮助信息
sethelpstring():提供帮助文本
Timer控件:设置时间间隔,定期引发事件,为window窗体环境设计的
interval:时间间隔,毫秒为单位,每个时间间隔引发一个tick事件
Enabled:是否启用计时器
stop(),start():停止和启动定时器
Progressbar:显示程序运行的进度条,只能水平显示,若要改变样式, 使用progressbar renderer类实现。
minimum maxmum:设置最大值,最小值
value:已完成的进度
step:value属性递增的值,然后调用performstep()方法来递增该值
ADO.NET
connection :建立与物理数据库的链接,提供4种数据库对象类,对一个不同数据库
sqlconnection对象链接类,
open()打开链接,
state连接状态(connectionstate枚举,broken,中断,closed,关闭,connecting 正在连接,executing 正在执行命令 fetching 正在检索数据 open 打开状态)
closed()关闭连接,可以调用open()打开;
dispose() 关闭并清理连接占用资源,不能再调用open()打开,必须重新初始化连接后才能打开。
数据库操作后及时关闭,防止对数据库进行其他操作时被占用
command:数据命令对象,向数据库发送查询,更新,删除,修改操作的sql语句
connection :用于设置使用的sqlconnection
commandtext:设置要执行的SQL语句或存储过程
commandtype:设置commandtext的类型,storedprocedure:存储过程的名称,tabledirect表的名称,text,SQL文本命令
executeNonquery():执行SQL语句,返回受影响的行数。
executereader():执行sql语句,生成一个包含数据的sqldatareader对象实例。
executescalar():执行SQL语句,返回结果集中的第一行的第一列,或空引用(结果集为空)
dataadapter 数据适配器对象,是dataset 和数据源之间的桥梁
selectcommand,deletecommand,insertcommand,updatecommand:向数据库发送查询,删除,插入,更新的SQL语句,对数据库进行操作时,只需要将这个4个属性设置为对应的SQL语句即可
fill(dataset,srctable):用数据填充dataset,可以多次调用srctable,若主键存在,则传入行会与已有的行合并,若不存在,则追加到dataset中
update(datable):更新数据库
datareader: 数据读取器对象,通过executereader()获取数据,提供只读,向前的游标。若需要每次从数据库取出最新的数据,或只需要快速读取数据,不修改数据,使用datareader对象进行读取
hasrows :是否包含一行或多行数据,判断结果是否有值
read():读取数据。
一个connection只能打开一个datareader。close()一个,才能打开一个
dataset:数据集
merge(dataset,bool,missingschemaaction):合并数据集,将dataset,datatable,datarow数组的内容合并到现在的dataset中。
bool:是否保留当前dataset的更改。
missingschemaaction枚举:add:添加必须的列完成架构。addwithkey:添加必须的列和主键信息完成架构,可以根据Key更新,不是追加 error: 缺少映射,生成invalidoperationexception ; ignore:忽略额外列
dataset对象为空则无法进行合并
copy():返回一个新的dataset,具有与该dataset相同结构和数据
EntityFrameWork(EF)
EF是ORM框架,方便的将表映射到实体对象,或将实体对象映射为数据库表
ORM包含3个部分:域对象,关系数据库对象,映射关系。
EDM:EF实体数据模型,包含概念模型(csdl),映射(msl),存储模型(ssdl)
LINQ
datagridview
面向对象
抽象方法必须声明在抽象类中,并不提供方法的实现。抽象方法不能用virtual,static,private修饰
类中有一个抽象方法,此类为抽象类,抽象类不能实例化。
继承抽象类的非抽象类必须重写抽象方法。
接口,为了实现多继承,包含方法,属性,事件,索引器,不能包含字段。所有方法都没有方法体。
继承接口的任何非抽象类型,必须实现接口的所有成员
不能实例化接口,接口成员必须是public
抽象类和接口的区别
派生只能继承一个抽象类,可以继承多个接口
抽象类中可以定义成员的实现,但接口不可用
抽象类可以包含字段,构造函数,析构函数,静态成员和常量,但接口不可以
抽象类中成员可以是私有,受保护,内部等,但接口只能是Public
索引器与属性的区别:
索引器的名称为this,this后是一对[],方括号内是索引的参数列表,其中至少有一个参数。
索引器不能被定义为静态的。即不能添加static
迭代器:返回相同类型的值的有序序列,使用yield return 语句依次返回各元素。yield break,终止迭代。类型为ienumerable 或Ienumerator ,通过IEnumerator.getenumerator()创建迭代器。
泛型:允许程序员编写灵活、可重用代码的方法。可以创建类、接口、方法、委托等,在声明时包含一个或多个类型参数。
委托:方法的引用
delegate 类,multicastdelegate类都是委托类型的父类,但不能自定义类继承TM,只有系统和编译可以继承他们
事件
eventHandler 使用此委托发布委托类型
sender,事件的发布者
eventargs:事件包含的参数