导图社区 window窗体设计全应用
window窗体作为最常用的上位机及控制交互软件设计工具,包含数据库,等常见控件索引
编辑于2020-03-03 16:29:23winform窗体
winforms框架

框架属性
C#有一个特性就是设计的时候界面与后台分离
properties
Assemblylnfo.cs属性设置
第一个文件主要是应用程序发布时的一些属性设置,版本号,属性,版权之类的, 其余两个文件是工具自动生成的一些设置文件,不再过多赘述;
C# 有用的资源
winform类库 上层类
winform类库 程序集-命名空间-底层类
这个时候定义的类不是真实存在的,所以不会分配内存空间 
命名空间
类库
构造函数

类的属性

事件委托类型

类的方法

桌面应用
System.Windows窗体应用程序
System.Windows.Forms 控件
容器

GroupBox 控件
 GroupBox控件又称为分组框。该控件常用于为其他控件提供可识别的分组,其典型的用法之一就是给RadioButton控件分组。可以通过分组框的Text属性为分组框中的控件向用户提供提示信息, 如图 9-14 所示。设计时,向GroupBox 控件中添加控件的方法有两种: 一是直接在分组框中绘制控件; 二是把某一个已存在的控件复制到剪贴板上,然后选中分组框,再执行粘贴操作即可。 位于分组框中的所有控件随着分组框的移动而一起移动,随着分组框的删除而全部删除, 分组框的Visible属性和Enabled属性也会影响到分组框中的所有控件。 分组框的最常用的属性是Text,一般用来给出分组提示。
TabControl 选项卡页面
 提供一个选项卡式页面以有效地组织和访问已分组对象。
Panel滚动的框架
 将一组控件分组到未标记、可滚动的框架中
SplitContainer二栏式
 提供用可移动拆分条分隔的两个面板。
FlowLayoutPanel 浮动面板
 表示一个沿水平或垂直方向动态排放其内容的面板。
内容
列表
ListBox 控件
ListBox 控件又称列表框,它在工具箱中的图标为,  它显示一个项目列表供用户选择。 在列表框中,用户一次可以选择一项,也可以选择多项。
常用属性
(1) Items列表项集合
用于存放列表框中的列表项,是一个集合。通过该属性,可以添加列表项、移除列表项和获得列表项的数目。
(2)MultiColumn 是否支持多列
用来获取或设置一个值,该值指示用来获取或设置一个值,该值指示ListBox是否支持多列。值为 true 时表示支持多列,值为 false 时不支持多列。当使用多列模式时,可以使控件得以显示更多可见项,如图9-19 所示。是否支持多列。值为用来获取或设置一个值,该值指示ListBox是否支持多列。值为 true 时表示支持多列,值为 false 时不支持多列。当使用多列模式时,可以使控件得以显示更多可见项,如图9-19 所示。时表示支持多列,值为用来获取或设置一个值,该值指示ListBox是否支持多列。值为 true 时表示支持多列,值为 false 时不支持多列。当使用多列模式时,可以使控件得以显示更多可见项,如图9-19 所示。时不支持多列。当使用多列模式时,可以使控件得以显示更多可见项,如图用来获取或设置一个值,该值指示ListBox是否支持多列。值为 true 时表示支持多列,值为 false 时不支持多列。当使用多列模式时,可以使控件得以显示更多可见项,如图9-19 所示。所示。
(3)ColumnWidth 列的宽度
用来获取或设置多列用来获取或设置多列 ListBox控件中列的宽度。控件中列的宽度。
(4)SelectionMode属性:
用来获取或设置在用来获取或设置在ListBox控件中选择列表项的方法。当 SelectionMode属性设置为 SelectionMode.MultiExtended 时,控件中选择列表项的方法。当用来获取或设置在ListBox控件中选择列表项的方法。当 SelectionMode属性设置为 SelectionMode.MultiExtended 时,属性设置为用来获取或设置在ListBox控件中选择列表项的方法。当 SelectionMode属性设置为 SelectionMode.MultiExtended 时,时, 按下按下 Shift 键的同时单击鼠标或者同时按 Shift 键和箭头键之一(上箭头键、下箭头键、左箭头键和右箭头键),会将选定内容从前一选定项扩展到当前项。按 Ctrl 键的同时单击鼠标将选择或撤销选择列表中的某项;键的同时单击鼠标或者同时按按下 Shift 键的同时单击鼠标或者同时按 Shift 键和箭头键之一(上箭头键、下箭头键、左箭头键和右箭头键),会将选定内容从前一选定项扩展到当前项。按 Ctrl 键的同时单击鼠标将选择或撤销选择列表中的某项;键和箭头键之一(上箭头键、下箭头键、左箭头键和右箭头键),会将选定内容从前一选定项扩展到当前项。按按下 Shift 键的同时单击鼠标或者同时按 Shift 键和箭头键之一(上箭头键、下箭头键、左箭头键和右箭头键),会将选定内容从前一选定项扩展到当前项。按 Ctrl 键的同时单击鼠标将选择或撤销选择列表中的某项;键的同时单击鼠标将选择或撤销选择列表中的某项; 当该属性设置为当该属性设置为 SelectionMode.MultiSimple 时,鼠标单击或按空格键将选择或撤销选择列表中的某项;时,鼠标单击或按空格键将选择或撤销选择列表中的某项; 该属性的默认值为该属性的默认值为SelectionMode.One,则只能选择一项。,则只能选择一项。
(5)SelectedIndex选定的索引
用来获取或设置用来获取或设置ListBox控件中当前选定项的从零开始的索引。如果未选定任何项,则返回值为1。对于只能选择一项的ListBox控件,可使用此属性确定ListBox中选定的项的索引。如果 ListBox 控件的 SelectionMode 属性设置为 SelectionMode.MultiSimple 或 SelectionMode.MultiExtended,并在该列表中选定多个项,此时应用SelectedIndices来获取选定项的索引。控件中当前选定项的从零开始的索引。如果未选定任何项,则返回值为用来获取或设置ListBox控件中当前选定项的从零开始的索引。如果未选定任何项,则返回值为1。对于只能选择一项的ListBox控件,可使用此属性确定ListBox中选定的项的索引。如果 ListBox 控件的 SelectionMode 属性设置为 SelectionMode.MultiSimple 或 SelectionMode.MultiExtended,并在该列表中选定多个项,此时应用SelectedIndices来获取选定项的索引。。对于只能选择一项的用来获取或设置ListBox控件中当前选定项的从零开始的索引。如果未选定任何项,则返回值为1。对于只能选择一项的ListBox控件,可使用此属性确定ListBox中选定的项的索引。如果 ListBox 控件的 SelectionMode 属性设置为 SelectionMode.MultiSimple 或 SelectionMode.MultiExtended,并在该列表中选定多个项,此时应用SelectedIndices来获取选定项的索引。控件,可使用此属性确定用来获取或设置ListBox控件中当前选定项的从零开始的索引。如果未选定任何项,则返回值为1。对于只能选择一项的ListBox控件,可使用此属性确定ListBox中选定的项的索引。如果 ListBox 控件的 SelectionMode 属性设置为 SelectionMode.MultiSimple 或 SelectionMode.MultiExtended,并在该列表中选定多个项,此时应用SelectedIndices来获取选定项的索引。中选定的项的索引。如果用来获取或设置ListBox控件中当前选定项的从零开始的索引。如果未选定任何项,则返回值为1。对于只能选择一项的ListBox控件,可使用此属性确定ListBox中选定的项的索引。如果 ListBox 控件的 SelectionMode 属性设置为 SelectionMode.MultiSimple 或 SelectionMode.MultiExtended,并在该列表中选定多个项,此时应用SelectedIndices来获取选定项的索引。控件的用来获取或设置ListBox控件中当前选定项的从零开始的索引。如果未选定任何项,则返回值为1。对于只能选择一项的ListBox控件,可使用此属性确定ListBox中选定的项的索引。如果 ListBox 控件的 SelectionMode 属性设置为 SelectionMode.MultiSimple 或 SelectionMode.MultiExtended,并在该列表中选定多个项,此时应用SelectedIndices来获取选定项的索引。属性设置为用来获取或设置ListBox控件中当前选定项的从零开始的索引。如果未选定任何项,则返回值为1。对于只能选择一项的ListBox控件,可使用此属性确定ListBox中选定的项的索引。如果 ListBox 控件的 SelectionMode 属性设置为 SelectionMode.MultiSimple 或 SelectionMode.MultiExtended,并在该列表中选定多个项,此时应用SelectedIndices来获取选定项的索引。或用来获取或设置ListBox控件中当前选定项的从零开始的索引。如果未选定任何项,则返回值为1。对于只能选择一项的ListBox控件,可使用此属性确定ListBox中选定的项的索引。如果 ListBox 控件的 SelectionMode 属性设置为 SelectionMode.MultiSimple 或 SelectionMode.MultiExtended,并在该列表中选定多个项,此时应用SelectedIndices来获取选定项的索引。,并在该列表中选定多个项,此时应用用来获取或设置ListBox控件中当前选定项的从零开始的索引。如果未选定任何项,则返回值为1。对于只能选择一项的ListBox控件,可使用此属性确定ListBox中选定的项的索引。如果 ListBox 控件的 SelectionMode 属性设置为 SelectionMode.MultiSimple 或 SelectionMode.MultiExtended,并在该列表中选定多个项,此时应用SelectedIndices来获取选定项的索引。来获取选定项的索引。
(6)SelectedIndices集合
该属性用来获取一个集合,该集合包含该属性用来获取一个集合,该集合包含 ListBox 控件中所有选定项的从零开始的索引。控件中所有选定项的从零开始的索引。
(7)SelectedItem当前选定项
获取或设置获取或设置ListBox中的当前选定项。中的当前选定项。
(8)SelectedItems选定项集合
获取获取 ListBox控件中选定项的集合,通常在ListBox控件的SelectionMode属性值设置为SelectionMode.MultiSimple或SelectionMode.MultiExtended(它指示多重选择ListBox)时使用。控件中选定项的集合,通常在获取 ListBox控件中选定项的集合,通常在ListBox控件的SelectionMode属性值设置为SelectionMode.MultiSimple或SelectionMode.MultiExtended(它指示多重选择ListBox)时使用。控件的获取 ListBox控件中选定项的集合,通常在ListBox控件的SelectionMode属性值设置为SelectionMode.MultiSimple或SelectionMode.MultiExtended(它指示多重选择ListBox)时使用。属性值设置为获取 ListBox控件中选定项的集合,通常在ListBox控件的SelectionMode属性值设置为SelectionMode.MultiSimple或SelectionMode.MultiExtended(它指示多重选择ListBox)时使用。或获取 ListBox控件中选定项的集合,通常在ListBox控件的SelectionMode属性值设置为SelectionMode.MultiSimple或SelectionMode.MultiExtended(它指示多重选择ListBox)时使用。(它指示多重选择获取 ListBox控件中选定项的集合,通常在ListBox控件的SelectionMode属性值设置为SelectionMode.MultiSimple或SelectionMode.MultiExtended(它指示多重选择ListBox)时使用。)时使用。 获取或设置一个值,该值指示获取或设置一个值,该值指示ListBox控件中的列表项是否按字母顺序排序。如果列表项按字母排序,该属性值为true;如果列表项不按字母排序,该属性值为false。默认值为false。在向已排序的 ListBox控件中添加项时,这些项会移动到排序列表中适当的位置。控件中的列表项是否按字母顺序排序。如果列表项按字母排序,该属性值为获取或设置一个值,该值指示ListBox控件中的列表项是否按字母顺序排序。如果列表项按字母排序,该属性值为true;如果列表项不按字母排序,该属性值为false。默认值为false。在向已排序的 ListBox控件中添加项时,这些项会移动到排序列表中适当的位置。;如果列表项不按字母排序,该属性值为获取或设置一个值,该值指示ListBox控件中的列表项是否按字母顺序排序。如果列表项按字母排序,该属性值为true;如果列表项不按字母排序,该属性值为false。默认值为false。在向已排序的 ListBox控件中添加项时,这些项会移动到排序列表中适当的位置。。默认值为获取或设置一个值,该值指示ListBox控件中的列表项是否按字母顺序排序。如果列表项按字母排序,该属性值为true;如果列表项不按字母排序,该属性值为false。默认值为false。在向已排序的 ListBox控件中添加项时,这些项会移动到排序列表中适当的位置。。在向已排序的获取或设置一个值,该值指示ListBox控件中的列表项是否按字母顺序排序。如果列表项按字母排序,该属性值为true;如果列表项不按字母排序,该属性值为false。默认值为false。在向已排序的 ListBox控件中添加项时,这些项会移动到排序列表中适当的位置。控件中添加项时,这些项会移动到排序列表中适当的位置。
(10)Text 获取选定的文本
该属性用来获取或搜索该属性用来获取或搜索 ListBox 控件中当前选定项的文本。当把此属性值设置为字符串值时,ListBox 控件将在列表内搜索与指定文本匹配的项并选择该项。若在列表中选择了一项或多项,该属性将返回第一个选定项的文本。控件中当前选定项的文本。当把此属性值设置为字符串值时,该属性用来获取或搜索 ListBox 控件中当前选定项的文本。当把此属性值设置为字符串值时,ListBox 控件将在列表内搜索与指定文本匹配的项并选择该项。若在列表中选择了一项或多项,该属性将返回第一个选定项的文本。控件将在列表内搜索与指定文本匹配的项并选择该项。若在列表中选择了一项或多项,该属性将返回第一个选定项的文本。
(11)ItemsCount列表项数目
该属性用来返回列表项的数目。
常用方法
DataGridView自定义列表
DataGridView 控件提供用来显示数据的可自定义表。 使用 DataGridView 类,可以自定义单元格、行、列和边框。 
文本
TextBox 文本框控件
在希望用户输入程序员在设计阶段不知道的文本(如用户的姓名)时,应  使用文本框。文本框的主要用途是让用户输入文本, 用户可以输入任何字符,也可以限制用户只输入数值。
主要属性
(1)Text属性:
Text属性是文本框最重要的属性,因为要显示的文本就包含在Text属性中。默认情况下,属性是文本框最重要的属性,因为要显示的文本就包含在Text属性是文本框最重要的属性,因为要显示的文本就包含在Text属性中。默认情况下,属性中。默认情况下, 1.最多可在一个文本框中输入1.最多可在一个文本框中输入2048个字符。个字符。 2.如果将2.如果将MultiLine属性设置为true,则最多可输入32KB 的文本。属性设置为2.如果将MultiLine属性设置为true,则最多可输入32KB 的文本。,则最多可输入2.如果将MultiLine属性设置为true,则最多可输入32KB 的文本。的文本。 设置时间 1.Text属性可以在设计时使用【属性】窗口设置,属性可以在设计时使用【属性】窗口设置, 2.也可以在运行时用代码设置或者通过用户输入来设置。 3.可以在运行时通过读取Text属性来获得文本框的当前内容。可以在运行时通过读取3.可以在运行时通过读取Text属性来获得文本框的当前内容。属性来获得文本框的当前内容。
(2)MaxLength 允许输入最大长度
用来设置文本框允许输入字符的最大长度,该属性值为用来设置文本框允许输入字符的最大长度,该属性值为 0 时,不限制输入的字符数。时,不限制输入的字符数。
(8)SelectionLength选中的字符数
用来获取或设置文本框中选定的字符数。只能在代码中使用, 值为值为0 时,表示未选中任何字符。时,表示未选中任何字符。
(12)Modified控件的内容是否修改
用来获取或设置一个值,该值指示自创建文本框控件或上次设置该控件的内容后, 用户是否修改了该控件的内容。 值为值为true表示修改过,表示修改过, 值为值为 false表示没有修改过。表示没有修改过。
获取
控制
显示
(3)MultiLine 多行显示
用来设置文本框中的文本是否可以输入多行并以多行显示。 值为值为 true 时,允许多行显示。时,允许多行显示。 值为值为false时不允许多行显示,时不允许多行显示, 一旦文本超过文本框宽度时,超过部分不显示。
(4)HideSelection焦点离开文本框显示
用来决定当焦点离开文本框后, 选中的文本是否还以选中的方式显示,值为选中的文本是否还以选中的方式显示,值为true,则不以选中的方式显示,,则不以选中的方式显示, 值为值为 false将依旧以选中的方式显示。将依旧以选中的方式显示。
(7) ScrollBars滚动模式
用来设置滚动条模式,有四种选择: ScrollBars.None (无滚动条),(无滚动条), ScrollBars.Horizontal(水平滚动条),(水平滚动条), ScrollBars.Vertical(垂直滚动条),(垂直滚动条), ScrollBars.Both(水平和垂直滚动条)。(水平和垂直滚动条)。 注意:只有当注意:只有当MultiLine属性为true时,该属性值才有效。在WordWrap属性值为true时,属性为注意:只有当MultiLine属性为true时,该属性值才有效。在WordWrap属性值为true时,时,该属性值才有效。在注意:只有当MultiLine属性为true时,该属性值才有效。在WordWrap属性值为true时,属性值为注意:只有当MultiLine属性为true时,该属性值才有效。在WordWrap属性值为true时,时, 水平滚动条将不起作用
(14)WordWrap是否自动切换
用来指示多行文本框控件在输入的字符超过一行宽度时是否自动换行到下一行的开始, 值为值为 true,表示自动换到下一行的开始,,表示自动换到下一行的开始, 值为值为false表示不自动换到下一行的开始。表示不自动换到下一行的开始。
(5)ReadOnly文本框读写特性
用来获取或设置一个值,该值指示文本框中的文本是否为只读。 值为值为 true时为只读,时为只读, 值为值为 false时可读可写。时可读可写。
(9)SelectionStart文本起始点
用来获取或设置文本框中选定的文本起始点。 只能在代码中使用, 第一个字符的位置为第一个字符的位置为0,, 第二个字符的位置为第二个字符的位置为1,依此类推。,依此类推。
(6)PasswordChar输入口令
是一个字符串类型,允许设置一个字符,运行程序时, 将输入到将输入到 Text 的内容全部显示为该属性值,的内容全部显示为该属性值, 从而起到保密作用,通常用来输入口令或密码。
数据
(13)TextLength文本长度
用来获取控件中文本的长度。
(10)SelectedText 选定的文本
用来获取或设置一个字符串, 该字符串指示控件中当前选定的文本。只能在代码中使用。
(11)Lines:获取文本行
该属性是一个数组属性,用来获取或设置文本框控件中的文本行。 即文本框中的每一行存放在即文本框中的每一行存放在 Lines数组的一个元素中。数组的一个元素中。
常用方法
获取
(9)Select方法:
用来在文本框中设置选定文本。 调用的一般格式如下: 文本框对象文本框对象.Select(start,length)该方法有两个参数,该方法有两个参数, 第一个参数第一个参数start用来设定文本框中当前选定文本的第一个字符的位置,用来设定文本框中当前选定文本的第一个字符的位置, 第二个参数第二个参数length用来设定要选择的字符数。用来设定要选择的字符数。
(10)SelectAll方法:
用来选定文本框中的所有文本。 调用的一般格式如下:文本框对象调用的一般格式如下:文本框对象.SelectAll()该方法无参数。该方法无参数。
修改
(1)AppendText方法:
把一个字符串添加到文件框中文本的后面, 调用的一般格式如下:文本框对象调用的一般格式如下:文本框对象.AppendText(str)参数 str是要添加的字符串。参数调用的一般格式如下:文本框对象.AppendText(str)参数 str是要添加的字符串。是要添加的字符串。
(2)Clear方法:
从文本框控件中清除所有文本。调用的一般格式如下:文本框对象从文本框控件中清除所有文本。调用的一般格式如下:文本框对象.Clear()该方法无参数。该方法无参数。
(3)Focus方法:
是为文本框设置焦点。 如果焦点设置成功,值为如果焦点设置成功,值为 true,, 否则为否则为false。。 调用的一般格式如下:文本框对象调用的一般格式如下:文本框对象.Focus()该方法无参数。该方法无参数。
(4)Copy方法:
将文本框中的当前选定内容复制到剪贴板上。调用的一般格式如下:文本框对象将文本框中的当前选定内容复制到剪贴板上。调用的一般格式如下:文本框对象.Copy()该方法无参数。该方法无参数。
(5)Cut方法:
将文本框中的当前选定内容移动到剪贴板上。调用的一般格式如下:文本框对象将文本框中的当前选定内容移动到剪贴板上。调用的一般格式如下:文本框对象.Cut()该方法无参数。该方法无参数。
(6)Paste方法:
用剪贴板的内容替换文本框中的当前选定内容。 调用的一般格式如下:文本框对象调用的一般格式如下:文本框对象.Paste()该方法无参数。该方法无参数。
(7)Undo 方法:
撤销文本框中的上一个编辑操作。调用的一般格式如下:文本框对象撤销文本框中的上一个编辑操作。调用的一般格式如下:文本框对象.Undo()该方法无参数。该方法无参数。
(8)ClearUndo方法:
从该文本框的撤销缓冲区中清除关于最近操作的信息,根据应用程序的状态,可以使用此方法防止重复执行撤销操作。调用的一般格式如下:文本框对象从该文本框的撤销缓冲区中清除关于最近操作的信息,根据应用程序的状态,可以使用此方法防止重复执行撤销操作。调用的一般格式如下:文本框对象.ClearUndo()该方法无参数。该方法无参数。
常用事件
(1)GotFocus接收焦点事件:
该事件在文本框接收焦点时发生。
(2)LostFocus失去焦点事件:
该事件在文本框失去焦点时发生。
(3)TextChanged文本改变事件
该事件在该事件在Text属性值更改时发生。属性值更改时发生。 无论是通过编程修改还是用户交互更改文本框的无论是通过编程修改还是用户交互更改文本框的 Text属性值,均会引发此事件。属性值,均会引发此事件。
RichTextBox格式RTF显示
RichTextBox是一种既可以输入文本、 又可以编辑文本的文字处理控件, 与TextBox控件相比, RichTextBox控件的文字处理功能更加丰富,  不仅可以设定文字的颜色、 字体, 还具有字符串检索功能。 另外, RichTextBox控件还可以打开、编辑和存储.rtf格式文件、ASCII文本格式文件及Unicode编码格式的文件。
常用属性
(1)RightMargin右侧空白
用来设置或获取右侧空白的大小,单位是像素。 通过该属性可以设置右侧空白,如希望右侧空白为通过该属性可以设置右侧空白,如希望右侧空白为50像素,像素, 可使用如下语句:可使用如下语句:RichTextBox1.RightMargin=RichTextBox1.Width-50;
(2)Rtf格式文本显示
用来获取或设置用来获取或设置RichTextBox控件中的文本,包括所有RTF格式代码。控件中的文本,包括所有用来获取或设置RichTextBox控件中的文本,包括所有RTF格式代码。格式代码。 可以使用此属性 1.将1.将RTF格式文本放到控件中以进行显示,格式文本放到控件中以进行显示, 2.或提取控件中的2.或提取控件中的RTF格式文本。格式文本。 此属性通常用于在此属性通常用于在RichTextBox控件和其他RTF源(如 MicrosoftWord或 Windows写字板)之间交换信息。控件和其他此属性通常用于在RichTextBox控件和其他RTF源(如 MicrosoftWord或 Windows写字板)之间交换信息。源(如此属性通常用于在RichTextBox控件和其他RTF源(如 MicrosoftWord或 Windows写字板)之间交换信息。或此属性通常用于在RichTextBox控件和其他RTF源(如 MicrosoftWord或 Windows写字板)之间交换信息。写字板)之间交换信息。
(3)SelectedRtf 文本选中
用来获取或设置控件中当前选定的用来获取或设置控件中当前选定的 RTF 格式的格式文本。此属性使用户得以获取控件中的选定文本,包括RTF格式代码。格式的格式文本。此属性使用户得以获取控件中的选定文本,包括用来获取或设置控件中当前选定的 RTF 格式的格式文本。此属性使用户得以获取控件中的选定文本,包括RTF格式代码。格式代码。 如果当前未选定任何文本,给该属性赋值将把所赋的文本插入到插入点处。 如果选定了文本,则给该属性所赋的文本值将替换掉选定文本。
(4)SelectionColor文本颜色
用来获取或设置当前选定文本或插入点处的文本颜色。
(5)SelectionFont文本字体:
用来获取或设置当前选定文本或插入点处的字体。
常用方法
获取
(2)Find查找
用来从用来从RichTextBox控件中查找指定的字符串。经常使用的调用格式如下:控件中查找指定的字符串。经常使用的调用格式如下: [格式1]: RichTextBox对象.Find(str) [功能]:在指定的“RichTextBox”控件中查找文本,并返回搜索文本的第一个字符在控件内的位置。如果未找到搜索字符串或者str参数指定的搜索字符串为空,则返回值为1。 [格式2]: RichTextBox对象.Find(str,RichTextBoxFinds) [功能]:在“RichTextBox 对象”指定的文本框中搜索 str 参数中指定的文本,并返回文本的第一个字符在控件内的位置。如果返回负值,则未找到所搜索的文本字符串。还可以使用此方法搜索特定格式的文本。参数RichTextBoxFinds指定如何在控件中执行文本搜索,其取值及其含义如表9-4 所示。 [格式3]: RichTextBox对象.Find(str,start,RichTextBoxFinds) [功能]:这里Find方法与前面的格式2 基本类似,不同的只是通过设置控件文本内的搜索起始位置来缩小文本搜索范围,start参数表示开始搜索的位置。此功能使用户得以避开可能已搜索过的文本或已经知道不包含要搜索的特定文本的文本。如果在options参数中指定了RichTextBoxFinds.Reverse值,则 start参数的值将指示反向搜索结束的位置,因为搜索是从文档底部开始的。
(1)Redo撤销
用来重做上次被撤销的操作。调用的一般格式如下:用来重做上次被撤销的操作。调用的一般格式如下:RichTextBox对象.Redo() 该方法无参数。对象用来重做上次被撤销的操作。调用的一般格式如下:RichTextBox对象.Redo() 该方法无参数。该方法无参数。
(3)SaveFile方法
[格式1]: RichTextBox对象名.SaveFile(文件名); [功能]:将 RichTextBox控件中的内容保存为RTF格式文件中。 [格式2]: RichTextBox对象名.SaveFile(文件名,文件类型); [功能]:将 RichTextBox控件中的内容保存为“文件类型”指定的格式文件中。 [格式3]: RichTextBox对象名.SaveFile(数据流,数据流类型); [功能]:将 RichTextBox控件中的内容保存为“数据流类型”指定的数据流类型文件中。 其中,文件类型或数据流类型的取值及含义如表9-5所示。
(4)LoadFile方法
使用LoadFile方法可以将文本文件、RTF文件装入RichTextBox控件。主要的调用格式有以下三种。 [格式1]: RichTextBox对象名.LoadFile(文件名); - 8 – [功能]:将RTF格式文件或标准ASCII文本文件加载到RichTextBox控件中。 [格式2]: RichTextBox对象名.LoadFile(数据流,数据流类型); [功能]:将现有数据流的内容加载到RichTextBox控件中。 [格式3]: RichTextBox对象名.LoadFile(文件名,文件类型); [功能]:将特定类型的文件加载到RichTextBox控件中。 注意:文件类型和数据流格式见表9-5。
MaskedTextBox约束输入格式
约束用户输入的格式
值的设置
CheckBox 控件

常用属性
列表类控件
(1)TextAlign属性
用来设置控件中文字的对齐方式,有用来设置控件中文字的对齐方式,有9种选择,如图9-16 所示。种选择,如图用来设置控件中文字的对齐方式,有9种选择,如图9-16 所示。所示。 从上到下、从左至右分别是: ContentAlignment.TopLeft、、 ContentAlignment.TopCenter、、 ContentAlignment.TopRight、、 ContentAlignment.MiddleLeft、、 ContentAlignment.MiddleCenter、、 ContentAlignment.MiddleRight、、 ContentAlignment.BottomLeft、、 ContentAlignment.BottomCenter 和和 ContentAlignment.BottomRight。。 该属性的默认值为该属性的默认值为ContentAlignment.MiddleLeft,即文字左对齐、居控件垂直方向中央。,即文字左对齐、居控件垂直方向中央。
(2)ThreeState属性
用来返回或设置复选框是否能表示三种状态,如果属性值为用来返回或设置复选框是否能表示三种状态,如果属性值为true时,表示可以表示三种状态—时,表示可以表示三种状态— 选中、没选中和中间态 ((CheckState.Checked、CheckState.Unchecked和 CheckState.Indeterminate),、(CheckState.Checked、CheckState.Unchecked和 CheckState.Indeterminate),和(CheckState.Checked、CheckState.Unchecked和 CheckState.Indeterminate),), 属性值为属性值为false时,只能表示两种状态——选中和没选中。时,只能表示两种状态——选中和没选中。
(3)Checked属性
:用来设置或返回复选框是否被选中, 值为值为true时,表示复选框被选中,时,表示复选框被选中, 值为值为false时,表示复选框没被选中。时,表示复选框没被选中。 当当ThreeState属性值为true时,中间态也表示选中。属性值为当ThreeState属性值为true时,中间态也表示选中。时,中间态也表示选中。
(4)CheckState 属性
:用来设置或返回复选框的状态。 在在 ThreeState 属性值为 false 时, 属性值为在 ThreeState 属性值为 false 时, 时, 取值有取值有CheckState.Checked或CheckState.Unchecked。或取值有CheckState.Checked或CheckState.Unchecked。。 在在ThreeState属性值被设置为True时,属性值被设置为在ThreeState属性值被设置为True时,时, CheckState还可以取CheckState.Indeterminate,还可以取CheckState还可以取CheckState.Indeterminate,, 在此时,复选框显示为浅灰色选中状态,该状态通常表示该选项下的多个子选项未完全选中。在此时,复选框显示为浅灰色选中状态,该状态通常表示该选项下的多个子选项未完全选中。CheckBox控件的常用事件有Click和CheckedChanged等,其含义及触发时机与单选按钮完成一致。控件的常用事件有在此时,复选框显示为浅灰色选中状态,该状态通常表示该选项下的多个子选项未完全选中。CheckBox控件的常用事件有Click和CheckedChanged等,其含义及触发时机与单选按钮完成一致。和在此时,复选框显示为浅灰色选中状态,该状态通常表示该选项下的多个子选项未完全选中。CheckBox控件的常用事件有Click和CheckedChanged等,其含义及触发时机与单选按钮完成一致。等,其含义及触发时机与单选按钮完成一致。
RadioButton勾选控件
RadioButton又称单选按钮,其在工具箱中的图标为 ,单选按钮通常成组出现,用于提供 两个或多个互斥选项,即在一组单选钮中只能选择一个,如图9-14所示。
常用属性:
(1)Checked属性:
用来设置或返回单选按钮是否被选中,选中时值为用来设置或返回单选按钮是否被选中,选中时值为true,没有选中时值为false。,没有选中时值为用来设置或返回单选按钮是否被选中,选中时值为true,没有选中时值为false。。
(2)AutoCheck 属性:
如果如果 AutoCheck 属性被设置为 true(默认),属性被设置为如果 AutoCheck 属性被设置为 true(默认),(默认), 那么当选择该单选按钮时,将自动清除该组中所有其他单选按钮。 对一般用户来说,不需改变该属性,采用默认值(对一般用户来说,不需改变该属性,采用默认值(true)即可。)即可。
(3)Appearance 外观
用来获取或设置单选按钮控件的外观。当其取值为用来获取或设置单选按钮控件的外观。当其取值为 Appearance.Button 时,时, 将使单选按钮的外观像命令按钮一样:当选定它时,它看似已被按下。 当取值为当取值为 Appearance.Normal 时,就是默认的单选按钮的外观。时,就是默认的单选按钮的外观。
(4)Text显示的文本
用来设置或返回单选按钮控件内显示的文本,该属性也可以包含访问键,即前面带有“用来设置或返回单选按钮控件内显示的文本,该属性也可以包含访问键,即前面带有“&”符号的字母,这样用户就可以通过同时按Alt键和访问键来选中控件。符号的字母,这样用户就可以通过同时按用来设置或返回单选按钮控件内显示的文本,该属性也可以包含访问键,即前面带有“&”符号的字母,这样用户就可以通过同时按Alt键和访问键来选中控件。键和访问键来选中控件。
常用事件
(1)Click事件:
当单击单选按钮时,将把单选按钮的当单击单选按钮时,将把单选按钮的Checked属性值设置为true,同时发生Click事件。属性值设置为当单击单选按钮时,将把单选按钮的Checked属性值设置为true,同时发生Click事件。,同时发生当单击单选按钮时,将把单选按钮的Checked属性值设置为true,同时发生Click事件。事件。
(2)CheckedChanged事件:
当当Checked属性值更改时,将触发CheckedChanged事件。属性值更改时,将触发当Checked属性值更改时,将触发CheckedChanged事件。事件。
TrackBar控件

CheckedListBox 控件

常用属性
(1)CheckOnClick选定切换左侧的复选框
获取或设置一个值,该值指示当某项被选定时是否应切换左侧的复选框。如果立即切换选中标记,则该属性值为获取或设置一个值,该值指示当某项被选定时是否应切换左侧的复选框。如果立即切换选中标记,则该属性值为true;否则为false。默认值为false。;否则为获取或设置一个值,该值指示当某项被选定时是否应切换左侧的复选框。如果立即切换选中标记,则该属性值为true;否则为false。默认值为false。。默认值为获取或设置一个值,该值指示当某项被选定时是否应切换左侧的复选框。如果立即切换选中标记,则该属性值为true;否则为false。默认值为false。。
(2)CheckedItems 选中项
该属性是复选列表框中选中项的集合,只代表处于该属性是复选列表框中选中项的集合,只代表处于CheckState. Checked或CheckState.Indeterminate状态的那些项。该集合中的索引按升序排列。或该属性是复选列表框中选中项的集合,只代表处于CheckState. Checked或CheckState.Indeterminate状态的那些项。该集合中的索引按升序排列。状态的那些项。该集合中的索引按升序排列。
(3)CheckedIndices 选中项索引
该属性代表选中项(处于选中状态或中间状态的那些项)索引的集合。
表单
Button按钮控件
常用属性
(1)DialogResult返回值
当使用当使用ShowDialog方法显示窗体时,可以使用该属性设置当用户按了该按钮后,ShowDialog方法的返回值。值有:OK、Cancel、Abort、Retry、Ignore、Yes、No等。方法显示窗体时,可以使用该属性设置当用户按了该按钮后,当使用ShowDialog方法显示窗体时,可以使用该属性设置当用户按了该按钮后,ShowDialog方法的返回值。值有:OK、Cancel、Abort、Retry、Ignore、Yes、No等。方法的返回值。值有:当使用ShowDialog方法显示窗体时,可以使用该属性设置当用户按了该按钮后,ShowDialog方法的返回值。值有:OK、Cancel、Abort、Retry、Ignore、Yes、No等。、当使用ShowDialog方法显示窗体时,可以使用该属性设置当用户按了该按钮后,ShowDialog方法的返回值。值有:OK、Cancel、Abort、Retry、Ignore、Yes、No等。、当使用ShowDialog方法显示窗体时,可以使用该属性设置当用户按了该按钮后,ShowDialog方法的返回值。值有:OK、Cancel、Abort、Retry、Ignore、Yes、No等。、当使用ShowDialog方法显示窗体时,可以使用该属性设置当用户按了该按钮后,ShowDialog方法的返回值。值有:OK、Cancel、Abort、Retry、Ignore、Yes、No等。、当使用ShowDialog方法显示窗体时,可以使用该属性设置当用户按了该按钮后,ShowDialog方法的返回值。值有:OK、Cancel、Abort、Retry、Ignore、Yes、No等。、当使用ShowDialog方法显示窗体时,可以使用该属性设置当用户按了该按钮后,ShowDialog方法的返回值。值有:OK、Cancel、Abort、Retry、Ignore、Yes、No等。、当使用ShowDialog方法显示窗体时,可以使用该属性设置当用户按了该按钮后,ShowDialog方法的返回值。值有:OK、Cancel、Abort、Retry、Ignore、Yes、No等。等。
(2)Image按钮图像
用来设置显示在按钮上的图像。
(3)FlatStyle按钮外观
用来设置按钮的外观。
常用事件
(1)Click事件:
当用户用鼠标左键单击按钮控件时,将发生该事件。
(2)MouseDown事件:
当用户在按钮控件上按下鼠标按钮时,将发生该事件。
(3)MouseUp事件:
当用户在按钮控件上释放鼠标按钮时,将发生该事件。
NumericUpDown 控件
【Windows 窗体】控件组中的 NumericUpDown 控件看起来像是一个文本框与一对用户可单击以调整值的 箭头的组合。可以通过单击向上和向下按钮、按向上和向下箭头键来增大和减小数字,也可以直接输入数 字。单击向上箭头键时,值向最大值方向增加;单击向下箭头键时, 值向最小值方向减少。该控件在工具箱中的图标为 。 
常用属性
(1)DecimalPlaces:获取或设置该控件中显示的小数位数。
(2)Hexadecimal:获取或设置一个值,该值指示该控件是否以十六进制格式显示所包含的值。
(3)Increment:获取或设置单击向上或向下按钮时,该控件递增或递减的值。
(4)Maximum:获取或设置该控件的最大值。
(5)Minimum:获取或设置该控件的最小值。
(6)Value:获取或设置该控件的当前值。
常用事件
NumericUpDown控件的常用事件有:
ValueChanged、
GotFocus、
LostFocus等。
ComboBox 控件
ComboBox 控件又称组合框,在工具箱中的图标为。默认情况下,组合框分两个部分显示:顶部是一个允许输入文本的文本框,下面的列表框则显示列表项。可以认为ComboBox就是文本框与列表框的组合,与文本框和列表框的功能基本一致。与列表框相比,组合框不能多选,它无 SelectionMode 属性。但组合框有一个名为DropDownStyle的属性,该属性用来设置或获取组合框的样式, 
视图
主要是输出
Label 文本控件
(1)Text显示文本信息
用来设置或返回标签控件中显示的文本信息。
(2)AutoSize控件大小
用来获取或设置一个值,该值指示是否自动调整控件的大小以完整显示其内容。 取值为取值为 true时,控件将自动调整到刚好能容纳文本时的大小,时,控件将自动调整到刚好能容纳文本时的大小, 取值为取值为false时,控件的大小为设计时的大小。时,控件的大小为设计时的大小。 默认值为默认值为false。。
(3)Anchor 位置锚点
用来确定此控件与其容器控件的固定关系的。 所谓容器控件指的是这样一种情况:往往在控件之中还有一个控件, 例如最典型的就是窗体控件中会包含很多的控件,像标签控件、文本框等。 这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。属性就规定了这个原则。对于这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。属性,可以设定这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。、这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。、这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。、这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。中的任意几种,设置的方法是在属性窗口中单击这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。属性右边的箭头,将会出现如图这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。的窗口,通过它可设置这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。属性值。图这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。中选中变黑的方位即为设定的方位控制,即图中所示的为这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。、这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。、这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。所示。可见随着窗体的大小变化,这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。控件也会随着变。而不变的则是这时称包含控件的控件为容器控件或父控件,而父控件称为子控件。这时将遇到一个问题,即子控件与父控件的位置关系问题,即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就规定了这个原则。对于 Anchor 属性,可以设定 Top、Bottom、Right、Left 中的任意几种,设置的方法是在属性窗口中单击Anchor属性右边的箭头,将会出现如图 9-6 的窗口,通过它可设置 Anchor 属性值。图 9-6 中选中变黑的方位即为设定的方位控制,即图中所示的为 Left、Right、Bottom。此时,如果父窗口变化,子窗口将保证其左边缘与容器左边的距离、上边缘与容器上边的距离、底边与容器底边的距离等不变,效果如图9-7 所示。可见随着窗体的大小变化, Label控件也会随着变。而不变的则是Archor中所规定的边缘与相应的父控件边缘的距离。中所规定的边缘与相应的父控件边缘的距离。
(4)BackColor背景颜色
用来获取或设置控件的背景色。当该属性值设置为用来获取或设置控件的背景色。当该属性值设置为 Color.Transparent 时,时, 标签将透明显示,即背景色不再显示出来。
(5)BorderStyle 边框效果
用来设置或返回边框。有三种选择: BorderStyle.None 为无边框(默认),为无边框(默认), BorderStyle.FixedSingle 为固定单边框,为固定单边框, BorderStyle.Fixed3D 为三维边框。边框效果如图 9-8 所示。为三维边框。边框效果如图BorderStyle.Fixed3D 为三维边框。边框效果如图 9-8 所示。所示。
(6)TabIndex对象tab顺序
用来设置或返回对象的用来设置或返回对象的Tab键顺序。键顺序。
(7)Enabled 控件状态
用来设置或返回控件的状态。 值为值为 true 时允许使用控件,时允许使用控件, 值为值为 false 时禁止使用控件,此时标签呈暗淡色,一般在代码中设置。时禁止使用控件,此时标签呈暗淡色,一般在代码中设置。 图图9-8 边框效果图另外,标签还具有Visible、ForeColor、Font等属性,具体含义请参考窗体的相应属性。边框效果图另外,标签还具有图9-8 边框效果图另外,标签还具有Visible、ForeColor、Font等属性,具体含义请参考窗体的相应属性。、图9-8 边框效果图另外,标签还具有Visible、ForeColor、Font等属性,具体含义请参考窗体的相应属性。、图9-8 边框效果图另外,标签还具有Visible、ForeColor、Font等属性,具体含义请参考窗体的相应属性。等属性,具体含义请参考窗体的相应属性。
LinkLabel链接文本
将文本显示为 Web 样式的链接,并在用户单击该特殊文本时触发事件。该文本通常是到另一个窗口或网站的链接。
PictureBox 控件
 PictureBox 控件又称图片框,常用于图形设计和图像处理应用程序, 在该控件中可以加载的图像文件格式有: 位图文件(.Bmp)、图标文件(.ICO)、图元文件(.wmf)、.JPEG 和.GIF 文件。 下而仅介绍该控件的常用属性和事件。
常用属性
(1)Image控件要显示的图像。
把文件中的图像加载到图片框通常采用以下三种方式。 设计时单击设计时单击Image属性,在其后将出现【…】按钮,单击该按钮将出现一个【打开】对话框,在该对话框中找到相应的图形文件后单击【确定】按钮。产生一个Bitmap类的实例并赋值给Image属性。形式如下:属性,在其后将出现【…】按钮,单击该按钮将出现一个【打开】对话框,在该对话框中找到相应的图形文件后单击【确定】按钮。产生一个设计时单击Image属性,在其后将出现【…】按钮,单击该按钮将出现一个【打开】对话框,在该对话框中找到相应的图形文件后单击【确定】按钮。产生一个Bitmap类的实例并赋值给Image属性。形式如下:类的实例并赋值给设计时单击Image属性,在其后将出现【…】按钮,单击该按钮将出现一个【打开】对话框,在该对话框中找到相应的图形文件后单击【确定】按钮。产生一个Bitmap类的实例并赋值给Image属性。形式如下:属性。形式如下: 通过通过 Image.FromFile方法直接从文件中加载。方法直接从文件中加载。 形式如下: pictureBox对象名.Image=Image.FromFile(图像文件名);对象名pictureBox对象名.Image=Image.FromFile(图像文件名);图像文件名pictureBox对象名.Image=Image.FromFile(图像文件名); Bitmapp=newBitmap(图像文件名);图像文件名Bitmapp=newBitmap(图像文件名); pictureBox对象名.Image=p;对象名pictureBox对象名.Image=p;
(2)SizeMode显示模式:
用来决定图像的显示模式。其取值有四种情况,取值及含义如表用来决定图像的显示模式。其取值有四种情况,取值及含义如表9-11所示所示
SoundPlayer音频
播放 .wav 格式的声音文件。加载声音和播放声音可以异步进行。
ImageList图像存储
充当图像储存库。ImageList 控件和及其包含的图像可以在不同的应用程序中重用。
WebBrowser窗体内导航网页
StatusStrip程序当前状态
通常在父窗体的底部使用有框架的区域显示有关应用程序的当前状态的信息。
滚动
ProgressBar控件

日历
DateTimePicker选择日期
显示一个图形日历以允许用户选择日期或时间。
MonthCalendar图形日期范围
显示一个图形日历以允许用户选择日期范围。
Timer 定时器
 Timer 控件又称定时器控件或计时器控件,在工具箱中的图标是 , 该控件的主要作用是按一定的时间间隔周期性地触发一个名为Tick的事件, 因此在该事件的代码中可以放置一些需要每隔一段时间重复执行的程序段。在程序运行时,定时器控件是不可见的。
常用属性
(1)Enabled 正在运行:
用来设置定时器是否正在运行。值为用来设置定时器是否正在运行。值为 true 时,定时器正在运行,值为 false 时,定时器不在运行。时,定时器正在运行,值为用来设置定时器是否正在运行。值为 true 时,定时器正在运行,值为 false 时,定时器不在运行。时,定时器不在运行。
(2)Interval时间间隔:
用来设置定时器两次用来设置定时器两次Tick事件发生的时间间隔,以毫秒为单位。如它的值设置为500,则将每隔0.5秒发生一个Tick事件。事件发生的时间间隔,以毫秒为单位。如它的值设置为用来设置定时器两次Tick事件发生的时间间隔,以毫秒为单位。如它的值设置为500,则将每隔0.5秒发生一个Tick事件。,则将每隔用来设置定时器两次Tick事件发生的时间间隔,以毫秒为单位。如它的值设置为500,则将每隔0.5秒发生一个Tick事件。秒发生一个用来设置定时器两次Tick事件发生的时间间隔,以毫秒为单位。如它的值设置为500,则将每隔0.5秒发生一个Tick事件。事件。
常用方法
(1)Start方法:
用来启动定时器。调用的一般格式如下: Timer控件名.start(); 该方法无参数。控件名Timer控件名.start(); 该方法无参数。该方法无参数。
(2)Stop方法:
用来停止定时器。调用的一般格式如下: Timer控件名.stop(); 该方法无参数。控件名Timer控件名.stop(); 该方法无参数。该方法无参数。
常用事件
定义器控件响应的事件只有Tick,每隔Interval时间后将触发一次该事件
serialPort控件

加载本机所有的com
Sub GetSerialPortNames() For Each sp As String In My.Computer.Ports.SerialPortNames ComboBox1.Items.Add(sp) Next If ComboBox1.Items.Count > 0 Then ComboBox1.SelectedIndex = 0 End If End Sub ———————————————— 版权声明:本文为CSDN博主「JonnyYan」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/xylinzai_xy/article/details/5214316
打开串口
If SerialPort1.IsOpen Then SerialPort1.Close() End If Try With SerialPort1 .PortName = ComboBox1.Text .BaudRate = 9600 .Parity = IO.Ports.Parity.None '奇偶校验 .DataBits = 8 '数据位 .StopBits = IO.Ports.StopBits.One '停止位 End With '打开 SerialPort1.Open() Label1.Text = "Connected" Button1.Enabled = False Button2.Enabled = True Catch ex As Exception MsgBox(ex.ToString) End Try
关闭串口
SerialPort1.close()
发送数据
一般的数据
dim data as string=textbox1.text SerialPort1.write(data)
十六进制字符串
发送十六进制字符串时,我们用数组保存要发送的信息 比如发送数据为:FF 01 00 00 01 00 00 FE Try Dim data(8) As Byte data(0) = &HFF data(1) = &H1 data(2) = &H0 data(3) = &H0 data(4) = &H1 data(5) = &H0 data(6) = &H0 data(7) = &HFE SerialPort1.DiscardOutBuffer() SerialPort1.Write(data, 0, 8) Catch ex As Exception MsgBox(ex.ToString) End Try
接收数据
SerialPort有个DataReceived事件,我们可以在里面写接受数据代码 接受字符串:SerialPort.ReadExisting
接受流数据
dim byteToRead as int16=SerialPort.bytestoread(读取缓冲区的字节长度) dim ch(byteToRead) as byte dim bytesRead as int16=0 bytesRead=SerialPort.read(ch,0,bytetoread) for i as int16=0 to bytesRead-1 indata=indata & DecToHex(ch(i)) next indata 就是读取到的数据 自定义函数:DecToHex (返回十六进制字符) Public Function DecToHex(ByVal DecNumber As Byte) As String '转换成十六进制字符串 If DecNumber DecToHex = " 0" & Hex(DecNumber) Else : DecToHex = " " & Hex(DecNumber) End If End Function
对话框
文件
OpenFileDialog 控件
显示允许用户定位文件和选择文件的对话框。
SaveFileDialog 控件
FolderBrowserDialog文件夹
显示用来浏览、创建以及最终选择文件夹的对话框
ColorDialog颜色
 显示允许用户设置界面元素的颜色的颜色选择器对话框。
FontDialog字体
显示允许用户设置字体及其属性的对话框。
PrintDialog打印机
显示允许用户选择打印机并设置其属性的对话框。
PrintPreviewDialog打印机预览对话框
 显示一个对话框,该对话框显示 PrintDocument 组件在打印出来后的外观
DialogResult提示对话框
 指定标识符以指示对话框的返回值 Abort 3 对话框的返回值是 Abort(通常从标签为“中止”的按钮发送)。 Cancel 2 对话框的返回值是 Cancel(通常从标签为“取消”的按钮发送)。 Ignore 5 对话框的返回值是 Ignore(通常从标签为“忽略”的按钮发送)。 No7 对话框的返回值是 No(通常从标签为“否”的按钮发送)。 None 0 从对话框返回了 Nothing。 这表明有模式对话框继续运行。 OK1 对话框的返回值是 OK(通常从标签为“确定”的按钮发送)。 Retry 4 对话框的返回值是 Retry(通常从标签为“重试”的按钮发送)。 Yes 6 对话框的返回值是 Yes(通常从标签为“是”的按钮发送)
(通常从标签为“中止”的按钮发送)。
(通常从标签为“取消”的按钮发送)。
(通常从标签为“忽略”的按钮发送)。
(通常从标签为“否”的按钮发送)。
(通常从标签为“确定”的按钮发送)。
(通常从标签为“重试”的按钮发送)。
(通常从标签为“是”的按钮发送)
数据

BindingNavigator
Binding Source
Datagridview
DataSet
菜单控件
工具栏
ToolStrip工具栏

MenuStrip自定义菜单
创建自定义菜单 
ContextMenuStrip右键菜单条
Bitmap 创建自定义上下文菜单。 
状态栏
用户帮助
HelpProvider 组件
为控件提供弹出式帮助或联机帮助。
ToolTip 简短说明
当用户将指针停留在控件上时,提供一个弹出式窗口来显示该控件的用途的简短说明。
隐式控件
System.Windows.Forms 开发桌面应用类库
这个dll中有 System.Windows.Forms , System.Windows.Forms.Design等一些命名空间. 如果是开发一个桌面应用程序,也就是要用到一个个的WinForm, 那肯定用这个类库下面的类最多.只不过大部分时候我们只需要去Toolbox里面拖控件,然后VS自动给你添加命名空间的引用了. 只要当你需要动态的创建删除一些控件的时候才需要手动调用里面的一些类.
11.1 Application类
11.2 Control类
invoke
11.3 Form类
11.4 TextBox类
11.5 ComboBox类
11.6 Clipboard类
11.7 Cursor类
11.8 DataFormats类
11.9 DataGrid类
11.10 DataGridColumnStyle类
11.11 DataObject类
11.12 InputLanguage类
11.13 Menu类
11.14 Screen类
11.15 ToolTip类
11.16 TreeNode类
11.17 TreeView类
System.Windows.Froms创建WinForm应用程序.
System.Windows提供支持WPF属性系统和事件逻辑的一些基元素类以及其他类型.
System.Windows.Controlls创建WPF控件元素,用户与应用程序进行交互.
System.Windows.Shapes提供WPFXAML或代码的形状库访问.
提供对提供对WPFXAML或代码中使用的形状库的访问或代码中使用的形状库的访问
System.Design控件布局
控件布局相关的类库,WinForm ,WebForm都可以用到.
System.DirectoryServices , System.DirecotryServices.Protocols活动目录
主要是跟活动目录(Acitive Directory)相关的类库.活动目录是windows操作系统中很重要的一个功能, 微软自己整出来的C#,自然要多整些类库出来很好的支持windows操作系统的一些功能嘛.
System.Configuration.Install , System.Deployment安装文件
你要把你的应用程序整成一个安装文件,可以用这里的类库做些操作.另外还有以后程序更新之类的啊
System.ServiceProcess创建windows服务程序
如果创建windows服务程序的话会用到这里面的类库. 我们右击computer,选manage,然后打开一个页面, 在里面会看到Services and Applications, 你点下下面的Services会看到右边一个个长长的列表, 里面显示的就是些服务程序,如果你装了Oracle server的话,可以在这里启动或关闭Oracle server. 不过这类库里面的类我也没用过,不知道具体咋用啊,有空再研究下去.
web
System.Xml 操作xml的类库
System.Xml这个dll中有 System.Xml, System.Xml.Schema等一些命名空间. 既然带个Xml顾名思义,自然是涉及到操作Xml的类库啊.比如我们平时要操作xml之前一般喜欢这样实例化一个类XmlDocument doc = new XmlDocument(); 这个类就是命名空间System.Xml下面的.
System.EnterpriseServices
哎又碰到个没见过的东东,也不知道具体干嘛,估计又是啥web相关,远程调用之类的吧.
System.Configuration操作配置信息
操作配置信息相关的类库, 比如你开发web application的时候会看到有个Web.config文件, 操作这里面的内容就会用到这里的类库.
System.Web 网络相关的类库
这里都带个Web,顾名思义,自然全部是跟Web相关,跟网络相关的.如果你是用C#开发桌面应用程序的话,就较少用到这些类库.当然你要是开发所谓的C/S模式的应用程序可能会用到.比如用到System.Web.Services里面的类库啊.里面有啥SOAP相关的类. System.Web.Mobile是跟移动设备相关的,你如果在手机上开发些应用程序可能用得着这里面的类库. 而开发WebForm时你要拖的控件基本上是在System.Web这个dll中的System.Web.UI.WebControls命名空间里. 这个命名空间包含 启用浏览器启用浏览器/服务器通信的类和接口.服务器通信的类和接口启用浏览器/服务器通信的类和接口. 这些命名空间类用于管理到客户端的这些命名空间类用于管理到客户端的HTTP输出和读取HTTP请求.输出和读取这些命名空间类用于管理到客户端的HTTP输出和读取HTTP请求.请求这些命名空间类用于管理到客户端的HTTP输出和读取HTTP请求. 附加的类则提供了一些功能附加的类则提供了一些功能, 用于服务器端的应用程序以及进程用于服务器端的应用程序以及进程,Cookie管理,文件传输,异常信息和输出缓存的控制.管理用于服务器端的应用程序以及进程,Cookie管理,文件传输,异常信息和输出缓存的控制.文件传输用于服务器端的应用程序以及进程,Cookie管理,文件传输,异常信息和输出缓存的控制.异常信息和输出缓存的控制用于服务器端的应用程序以及进程,Cookie管理,文件传输,异常信息和输出缓存的控制.
System.Web.UI创建web用户界面
这个命名空间包含这个命名空间包含Web窗体的类,窗体的类这个命名空间包含Web窗体的类, 包括包括Page类和类和 用于创建用于创建Web用户界面用户界面 的其他标准类的其他标准类.
System.Web.UI.HtmlControls
这个命名空间包含用于这个命名空间包含用于HTML特定控件的类,特定控件的类这个命名空间包含用于HTML特定控件的类, 这些控件可以添加到这些控件可以添加到Web窗体中以创建Web用户界面.窗体中以创建这些控件可以添加到Web窗体中以创建Web用户界面.用户界面这些控件可以添加到Web窗体中以创建Web用户界面.
System.Web.UI.WebControls
包含创建包含创建ASP.NET服务器控件的类,当添加到窗体时,服务器控件的类包含创建ASP.NET服务器控件的类,当添加到窗体时,当添加到窗体时包含创建ASP.NET服务器控件的类,当添加到窗体时, 这些控件将呈现浏览器特定的这些控件将呈现浏览器特定的HTML和脚本,用于创建和设备无关的Web用户界面.和脚本这些控件将呈现浏览器特定的HTML和脚本,用于创建和设备无关的Web用户界面.用于创建和设备无关的这些控件将呈现浏览器特定的HTML和脚本,用于创建和设备无关的Web用户界面.用户界面这些控件将呈现浏览器特定的HTML和脚本,用于创建和设备无关的Web用户界面.
System.Web.Mobile移动应用程序
包含生成包含生成ASP.NET移动应用程序所需要的核心功能,包括身份验证和错误处理.移动应用程序所需要的核心功能包含生成ASP.NET移动应用程序所需要的核心功能,包括身份验证和错误处理.包括身份验证和错误处理包含生成ASP.NET移动应用程序所需要的核心功能,包括身份验证和错误处理.
System.Web.UI.MobileControls服务器自适控件
包括一组包括一组ASP.NET服务器控件,这些控件可以针对不同的移动设备呈现应用程序.服务器控件包括一组ASP.NET服务器控件,这些控件可以针对不同的移动设备呈现应用程序.这些控件可以针对不同的移动设备呈现应用程序包括一组ASP.NET服务器控件,这些控件可以针对不同的移动设备呈现应用程序.
System.Web.Services生成xml webservice类
包含能使你使用和生成包含能使你使用和生成XMLWebService的类,的类包含能使你使用和生成XMLWebService的类, 这些服务是驻留在服务器中的可编程实体这些服务是驻留在服务器中的可编程实体,并通过标准Internet协议公开.并通过标准这些服务是驻留在服务器中的可编程实体,并通过标准Internet协议公开.协议公开这些服务是驻留在服务器中的可编程实体,并通过标准Internet协议公开.
System.ServiceModel包含生成WCF服务和客户端应用程序所需要的类型.
数据库
System.Transactions数据库事务相关
这个dll里面的类貌似是跟事务相关的,我们用数据库的时候对事务这个概念是比较熟了. 那如果用C#写代码连接数据库然后做些啥操作,貌似就可以用这里面的类实现一些事务的功能吧 System.Transactions编写事务性应用程序和资源管理器的一些类.编写事务性应用程序和资源管理器的一些类.
System.Data数据库ADO.NET
主要是支持跟数据库相关的操作.比如支持微软自己的数据库SQL Server, 或者其他数据库,但通过odbc的连接方式. System.Data 命名空间提供对表示 ADO.NET 结构的类的访问。 通过 ADO.NET,可以生成可有效管理多个数据源的数据的组件。 
属性
其中类的分类
基于连接的对象
它们是数据提供程序对象,如Connection、Command、DataReader和DataAdapter。它们连接到数据库,执行SQL语句,遍历只读结果集或者填充DataSet。基于连接的对象是针对具体数据源类型的,并且可以在提供程序制定的命令空间中(例如SQL Server提供程序的System.Data.SqlClient)找到
基于内容的对象
这些对象其实是数据的”包”,包括DataSet、DataColumn、DataRow、DataRelation等。它们完全和数据源独立,出现在System.Data命令空间里
不同的Data Provider
System.Data.Common数据库访问共享
包含了各种数据库访问共享的一些类型.
System.Data.SqlTypes数据类型
提供了一些表示提供了一些表示SQL数据类型的类.数据类型的类.
System.Data.Odbc包含了操作Odbc数据源的类型.
System.Data.OleDb操作OLEDB数据源的类型.
System.Data.Sql枚举本地网络的aqlserver实例
能使你枚举安装在当前本地网络的能使你枚举安装在当前本地网络的SQLServer实例.实例.
System.Data.SqlClient操作msqsl数据库类型
包含了一些操作包含了一些操作MSSQLServer数据库的类型,数据库的类型, 提供了和提供了和System.Data.OleDb相似的功能,但是针对SQL做了优化.相似的功能,但是针对提供了和System.Data.OleDb相似的功能,但是针对SQL做了优化.做了优化. System.Data.SqlClient 命名空间 1.为 SQL服务器.NET Framework 数据提供程序。提供程序。 2.SQL Server .NET Framework 数据提供程序描述了用于在托管空间中访问 SQL Server 数据库的类集合。
System.Data.OracleClient包含了操作Odbc数据库的类型.
属性类
状态
DataRelation Collection
数据关系集合
ConnectionState
连接状态
Data Exception
数据异常
DataRowStat
数据行统计
控制
约束
Constraint
ConstraintCollection约束集合
ConstraintException约束异常
AcceptRejectRule接受拒绝规则
1.连接
SqlConnection 类数据库打开连接
表示一个到 SQL Server 数据库的打开的连接。 SqlConnection类用于建立到SQL Server数据库的开放连接。这是一个封闭的类,所以不能被继承。连接到Microsoft SQL Server数据库时,SqlConnection类与SqlDataAdapter和SqlCommand类一起使用来提高性能。 即使连接超出范围,连接也不会明确关闭。 因此,在代码中必须通过调用Close()方法显式关闭连接
构造函数
它用于初始化 sqlConnection类的新实例 它用于初始化 sqlConnection类的新实例,并将连接字符串作为参数。 它用于初始化一个带有两个参数的 SqlConnection类的新实例。首先是连接字符串,其次是SQL凭据。
string
1、集成的Windows身份验证语法范例
string constr = " server=.; database=myschool; integrated security=SSPI"; 说明:程序代码中,设置了一个针对Sql Server数据库的连接字符串。 1.其中server表示运行Sql Server的计算机名,由于程序和数据库系统是位于同一台计算机的, 所以我们可以用.(或localhost)取代当前的计算机名。 2.database表示所使用的数据库名(myschool)。 3.由于我们希望采用集成的Windows验证方式,所以设置 integrated security为SSPI即可
2、Sql Server 2005中的Windows身份验证模式如下:
string constr = " server=.; database=myschool; uid=sa; pwd=sa"; 说明: 1.程序代码中,采用了使用已知的用户名和密码验证进行数据库的登录。 2.数据库连接字符串是不区分大小写的。uid为指定的数据库用户名,pwd为指定的用户口令。 3.为了安全起见,一般不要在代码中包括用户名和口令,你可以采用前面的集成的Windows验证方式或者对Web.Config文件中的连接字符串加密的方式提高程序的安全性。
3、Sql Server 2005中的Sql Server身份验证模式如下:
string constr = " data source=.; initial catalog=myschool; user id=sa; pwd=sa"; 说明: 程序代码中 data source 表示运行数据库对应的计算机名,计算机名data source 表示运行数据库对应的计算机名, initial catalog表示所使用的数据库名。数据库名initial catalog表示所使用的数据库名。 uid为指定的数据库用户名,数据库用户名uid为指定的数据库用户名, pwd为指定的用户口令。
4、Access数据库的连接字符串的形式如下:
string connectionString =@" provider=Microsoft.Jet.OLEDB.4.0; data source=c:\DataSource\myschool.mdb"; 说明:程序代码中,通过专门针对Access数据库的OLE DB提供程序,实现数据库的连接。OLE DB提供程序说明:程序代码中,通过专门针对Access数据库的OLE DB提供程序,实现数据库的连接。 1.这使用的的OLE DB提供程序为Microsoft.Jet.OLEDB.4.0, 2.并且数据库存放在c:\DataSource目录下,其数据库文件为myschool.mdb。
5、Web.config 配置
Windows验证与Sql自身的验证的区别
所以如果你的项目使用在一个比较大的网络中,而且对安全要求比较高,那么应该建立域,使用Windows验证,而且要与系统管理员配合详细设定可以访问SqlServer的Windows帐户。 如果使用一个小网络,而且此网络仅用来使用项目,对安全没有高要求,那么使用SqlServer验证,而且更新,升级等都方便
windows身份验证
Windows验证就是SqlServer服务器使用Windows自带的验证系统,如果你指定SqlServer内Windows的一个组有访问的权限,那么加入此组的Windows用户都有访问数据库的权限。 1.无法远程访问数据库: 此验证有个缺点,就是如果不是在域模式下,无法加入远程计算机的用户,所以如果使用C/S方式写程序的话,使用Windows验证无法使本地计算机的Windows帐户访问远程数据库服务器。
Sql验证
Sql验证就简单多了,就是使用sqlserver的企业管理器中自己定义由Sql控制的用户,指定用户权限等。 这个帐户信息是由SqlServer自己维护的,所以SqlServer更换计算机后信息不会丢失,不用重新设定。 数据库用户验证,数据不丢失
SqlConnectiono
SqlConnection(String)
SqlConnection(String, Sqlcredential)
方法
开关
Closed
它用于关闭与数据库的连接。
CreateCommand方法
CreateCommand方法:创建并返回一个与 SqlConnection 关联的 SqlCommand 对象。
BeginTransactionO启动数据库事务
它用于启动数据库事务
Change Database(String更改数据库
它用于更改当前数据库以打开它用于更改当前数据库以打开 SqlConnection。。
ChangePassword(String, String密码
它会更改连接字符串中指示的用户的它会更改连接字符串中指示的用户的 SQL Server密码密码
Create Command分布式事务
它作为分布式事务在指定的事务中使用。
Getschemao数据源模式信息
它返回这个它返回这个 SqlConnection的数据源的模式信息。的数据源的模式信息。
Resetstatisticso统计信息收集
如果启用统计信息收集,它会重置所有值
2.命令
SqlCommand 类
表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。
CommandText属性
CommandText属性: 获取或设置要对数据源执行的 Transact-SQL 语句、 表名或 存储过程。
ExecuteNonQuery目录操作
ExecuteNonQuery方法: 对连接执行 Transact-SQL 语句并返回受影响的行数。 可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE、INSERT 或 DELETE 语句,在不使用 DataSet 的情况下更改数据库中的数据。
ExecuteReader
将将 CommandText 发送到 Connection,并生成 SqlDataReader。发送到将 CommandText 发送到 Connection,并生成 SqlDataReader。,并生成将 CommandText 发送到 Connection,并生成 SqlDataReader。。
Command Behavior命令行为
Command Type命令类型
冲突
ConflictOption冲突选择
事件处理
Data Column Change EventArgs
数据列更改事件参数
DataRow Change Eventargs
数据行更改事件参数
Data Column Change EventHandler数据列更改事件处理程序
DataRow Change EventHandler数据行更改事件处理程序
数据
数据列
DataColumn
Data Column Collection数据列集合
Data RowBuilder数据行生成器
数据表
DataTable内存数据表
数据行
DataRow
DataRowCollection数据行集合
数据关系
DataRelation
处理
3.DataSet内存数据集类
顾名思义,DataSet 可叫做数据集,可以简单的理解为一个临时数据库, 其中可包含多个表(DataTable),表中有记录。 DataSet将从数据源(如数据库)中获得的数据保存在内存中,应用程序与内存中的DataSet进行交互,在这期间,不需要连接数据库。 也就是说,一旦DataSet获取数据后,就可以把数据库链接关闭掉,这可以节约资源,提高数据的访问和处理速度(因为是在内存中操作)。 应用程序除了可以从DataSet中获取数据,还可以更新DataSet中的数据,后面可以使用DataAdaper对象同步到数据源中,避免了额外的写代码处理,提高了代码编写的效率和质量 DataSet 由表、关系和约束的集合组成。
DataTable数据处理
构造函数
1DataTable() 它用于初始化没有参数的DataTable类的新实例。 2DataTable(String) 它用于使用指定的表名初始化DataTable类的新实例。 3DataTable(SerializationInfo, StreamingContext) 它用于使用SerializationInfo和StreamingContext初始化DataTable类的新实例。 4DataTable(String, String) 它用于使用指定的表名和名称空间初始化DataTable类的新实例。
1DataTable()
它用于初始化没有参数的它用于初始化没有参数的DataTable类的新实例。类的新实例。
2DataTable(String)指定表名
它用于使用指定的表名初始化它用于使用指定的表名初始化DataTable类的新实例。类的新实例。
3DataTable(SerializationInfo, StreamingContext)
它用于使用它用于使用SerializationInfo和StreamingContext初始化DataTable类的新实例。和它用于使用SerializationInfo和StreamingContext初始化DataTable类的新实例。初始化它用于使用SerializationInfo和StreamingContext初始化DataTable类的新实例。类的新实例。
4DataTable(String, String)表明+名称空间
它用于使用指定的表名和名称空间初始化它用于使用指定的表名和名称空间初始化DataTable类的新实例。类的新实例。
属性:
Constraints约束
它被用来获取由这个表维护的约束的集合
Dataset
它用于获取此表所属的它用于获取此表所属的 Dataset
Defaultview
它用于获取可能包含过滤视图的表的自定义视图
Haserrors错误的值
它用于获取指示它用于获取指示 Dataset表中的任何行中是否存在错误的值。表中的任何行中是否存在错误的值。
Minimum Capacity表初始起始大小
它用于获取或设置此表的初始起始大小
Primarykey数据表列数组
它用于获取或设置一个用作数据表主键的列数组。
Rows行集合
它用于获取属于此表的行的集合。
Columns表列集合
它用于获取属于此表的列的集合。
TableName名称
它用于获取或设置它用于获取或设置 Data Table的名称的名称
属性
HasErrors
DataSetName
Events事件
Relations关系
Tables表
事件

DiSposed处理
Initialized初始化
MergeFailed合并失败
方法
Clear
Clone
HasChanges()
GetType()
getxml()
createDataReader()
4.DataAdapter修改填充dataset的
可以用它来执行2项任务。 首先把数据源获取的信息填充到DataSet, 其次,依照DataSet的修改更新数据源
5.SqlDataReader 查询结果读取数据类
提供一种从 SQL Server 数据库读取行的只进流的方式。 Read方法:使 SqlDataReader 前进到下一条记录。 它提供对查询结果的快速的只读、只进访问方法
Data RowAction数据行操作
数据库操作
从数据库里取出数据,填充到dataset里, 再根据表的名字,实例化到 DataTable 中。 下面是 Ado.Net 关系: Connection_____ Command____ DataAdapter____ Dataset _____ Datareader 
2.将SQL Server数据库中的表填充到DataTable对象中
数据库数据 显示到 实例化本窗体的课程数据表,用于保存所有课程,似用作数据网格视图数据源
1.使用fill方法填充DataTable
2.使用使用DataReader方法:
 连接数据库 初始化 数据库命令 打开数据库
流程

1.新建对象
声明并实例化声明并实例化SQL数据适数据适 
创建DataTable对象
1.使用DataTable类的构造函数对象

2.调用DataSet的Tables对象的Add方法创建DataTable对象
 在DataTable对象中添加列:调用DataTable对象的Column中的Add方法添加列 在DataTable对象中创建行:由于DataTable对象的每一行都是一个DataRow对象, 所以创建行时可以利用DataTable对象的NewRow方法创建一个DataRow对象, 并设置新行中各列的数据, 然后利用Add方法将DataRow对象添加到表中
创建connection对象
创建DataAdapyer对象
设置数据表表名
设置课程数据表的表名设置课程数据表的表名:的于该查询访问多张表,数据活器无法自动指定赛名,故需手动指定表名的于该查询访问多张表,数据活器无法自动指定赛名,故需手动指定表名
1.创建与database的connection
 data source initial catalog uid pwd server database integrated security
远程ip连接
本地访问
sqlDataAdapter.Fill(this.CourseTable); 读取数据
 SQL数据适器读数据,并只将架构填充至课程数据表数据适器读数据,并只将架构填充至课程数据表
实例化数据列Datacolmn用于你存行编号

/设置数据列的名称
设置数据列的类型:类型需借助 typeof获
设置数据列为自增列
设置数据列的自增种子为1
设置数据列的自增步长为1;
数据列加入本窗体的课程数据表的rowIDColumn列集合

2.执行数据库命令

数据库适配器中添加新的数据列

关闭连接
框架服务
System.Diagnostics事件日志性能计数器
这个命名空间所提供的类允许你启动系统进程这个命名空间所提供的类允许你启动系统进程,读取和写入事件日志以及使用性能计数器监视系统性能.读取和写入事件日志以及使用性能计数器监视系统性能这个命名空间所提供的类允许你启动系统进程,读取和写入事件日志以及使用性能计数器监视系统性能.
System.DirectoryServices托管代码中访问activedirrctory
这个命名空间所提供的类可便于从托管代码中访问这个命名空间所提供的类可便于从托管代码中访问ActiveDirectory.此命名空间中的类可以与任何ActiveDirectory服务提供程序一起使用.此命名空间中的类可以与任何这个命名空间所提供的类可便于从托管代码中访问ActiveDirectory.此命名空间中的类可以与任何ActiveDirectory服务提供程序一起使用.服务提供程序一起使用这个命名空间所提供的类可便于从托管代码中访问ActiveDirectory.此命名空间中的类可以与任何ActiveDirectory服务提供程序一起使用.
System.Management管理信息和事件
这个命名空间提供的类用于管理一些信息和事件这个命名空间提供的类用于管理一些信息和事件, 它们关系到系统它们关系到系统,设备和WMI基础结构所使用的应用程序.设备和它们关系到系统,设备和WMI基础结构所使用的应用程序.基础结构所使用的应用程序它们关系到系统,设备和WMI基础结构所使用的应用程序.
System.Messaging网络消息队列
这个命名空间提供的类用于连接到网络上的消息队列这个命名空间提供的类用于连接到网络上的消息队列,向队列发送消息,从队列接收或查看消息.向队列发送消息这个命名空间提供的类用于连接到网络上的消息队列,向队列发送消息,从队列接收或查看消息.从队列接收或查看消息这个命名空间提供的类用于连接到网络上的消息队列,向队列发送消息,从队列接收或查看消息.
System.ServiceProcess安装和运行服务
这个命名空间提供的类用于安装和运行服务这个命名空间提供的类用于安装和运行服务,服务是长期运行的可执行文件,它们不通过用户界面来运行.服务是长期运行的可执行文件这个命名空间提供的类用于安装和运行服务,服务是长期运行的可执行文件,它们不通过用户界面来运行.它们不通过用户界面来运行这个命名空间提供的类用于安装和运行服务,服务是长期运行的可执行文件,它们不通过用户界面来运行.
System.Timers服务器计数器组件
这个命名空间提供基于服务器的计时器组件这个命名空间提供基于服务器的计时器组件,用以按指定的间隔引发事件用以按指定的间隔引发事件
10.1 ElapsedEventArgs类
10.2 Timer类
10.3 TimersDescriptionAttribute类
安全
System.Security提供公共语言运行库安全性系统的基础结构.
System.Net.Security提供用于主机间安全通信的网络流.
System.Web.Security包含的类用于在Web应用程序中实现ASP.NET安全性.
软件功能
图像识别
二维码处理
二维码处理分类
编码:使用字符串生成图片
解码:解析图片中的字符串
Zint类用于产生二维码
Zxing类用于读取二维码
操作系统
文件
System.Media包含用于播放声音文件和访问系统提供的声音的类.
图片
System.Drawing, System.Drawing.Design画图
这次看着眼熟了,也容易顾名思义,跟画图相关的类.专业点的说法叫GDI ( Graphics Device Interface)
类
Bitmap处理像素数据图像
封装封装 GDI+ 位图,此位图由图形图像及其属性的像素数据组成。 Bitmap 是用于处理由像素数据定义的图像的对象。位图,此位图由图形图像及其属性的像素数据组成。封装 GDI+ 位图,此位图由图形图像及其属性的像素数据组成。 Bitmap 是用于处理由像素数据定义的图像的对象。是用于处理由像素数据定义的图像的对象。
BitmapSuffixInSameAssemblyAttribute
指定,当解释指定,当解释 ToolboxBitmapAttribute 声明时,程序集应在同样的程序集中的资源查找,但是,与 BitmapSuffix 配置值追加到该声明的文件名。声明时,程序集应在同样的程序集中的资源查找,但是,与指定,当解释 ToolboxBitmapAttribute 声明时,程序集应在同样的程序集中的资源查找,但是,与 BitmapSuffix 配置值追加到该声明的文件名。配置值追加到该声明的文件名。
Brush填充图形形状
定义用于填充图形形状(如矩形、椭圆、饼形、多边形和封闭路径)的内部的对象。
Brushes标准颜色的画笔
所有标准颜色的画笔。此类不能被继承。
BufferedGraphicsManager主缓存对象的访问
提供对应用程序域的主缓冲图形上下文对象的访问。
ColorTranslator颜色翻译GDI
将颜色翻译成将颜色翻译成 GDI+ Color 结构并从该结构翻译颜色。此类不能被继承。结构并从该结构翻译颜色。此类不能被继承。
BufferedGraphics图片缓冲区
为双缓冲提供图形缓冲区。
BufferedGraphicsContext图形缓冲区
提供创建图形缓冲区的方法,该缓冲区可用于双缓冲。
Font定义文本格式
定义特定的文本格式,包括字体、字号和样式特性。此类不能被继承。
FontFamily字样
定义有着相似的基本设计但在形式上有某些差异的一组字样。此类不能被继承。
Graphics会话图面GDI
封装一个封装一个 GDI+ 绘图图面。此类不能被继承。绘图图面。此类不能被继承。
Icon标识图标
表示表示 Windows 图标,它是用于表示对象的小位图图像。尽管图标的大小由系统决定,但仍可将其视为透明的位图。图标,它是用于表示对象的小位图图像。尽管图标的大小由系统决定,但仍可将其视为透明的位图。
Image
为源自为源自 Bitmap 和 Metafile 的类提供功能的抽象基类。和为源自 Bitmap 和 Metafile 的类提供功能的抽象基类。的类提供功能的抽象基类。
ImageAnimator动画
动画处理包含基于时间的帧的图像。
Pen直线曲线
定义用于绘制直线和曲线的对象。此类不能被继承。
Pens标准颜色线
所有标准颜色的钢笔。此类不能被继承。
Region矩形路径图形
指示由矩形和由路径构成的图形形状的内部。此类不能被继承。
StringFormat文本布局信息
封装文本布局信息(如对齐、文字方向和封装文本布局信息(如对齐、文字方向和 Tab 停靠位),停靠位), 显示操作(如省略号插入和国家标准显示操作(如省略号插入和国家标准 (National) 数字替换)和数字替换)和 OpenType 功能。此类不能被继承。功能。此类不能被继承。
TextureBrush图像填充
TextureBrush 类的每个属性都是 Brush 对象,类的每个属性都是TextureBrush 类的每个属性都是 Brush 对象,对象, 这种对象使用图像来填充形状的内部。此类不能被继承。
ToolboxBitmapAttribute图标容器控件
这使您可以指定一个图标来表示容器的控件,例如这使您可以指定一个图标来表示容器的控件,例如 Microsoft Visual Studio 窗体设计器。窗体设计器。
converter
ColorConverter颜色数据类型转换
将颜色从一种数据类型转换为另一种数据类型。通过将颜色从一种数据类型转换为另一种数据类型。通过 TypeDescriptor 访问此类。访问此类。
FontConverter数据类型转换
将将 Font 对象从一种数据类型转换成另一种数据类型。对象从一种数据类型转换成另一种数据类型。
IconConverter图标数据类型转换
将将 Icon 对象从一种数据类型转换到另一种数据类型。通过 TypeDescriptor 对象访问此类。对象从一种数据类型转换到另一种数据类型。通过将 Icon 对象从一种数据类型转换到另一种数据类型。通过 TypeDescriptor 对象访问此类。对象访问此类。
FontConverter.FontNameConverter字体名称转换
FontConverter.FontNameConverter 是一个类型转换器,是一个类型转换器, 用于在字体名称与其他各种表示形式之间进行转换。
FontConverter.FontUnitConverter字体单位转换
将字体单位与其他单位类型进行转换。
ImageConverter
ImageConverter 是一个类,可用于将 Image 对象从一种数据类型转换为另一种数据类型。通过 TypeDescriptor 对象访问此类。是一个类,可用于将ImageConverter 是一个类,可用于将 Image 对象从一种数据类型转换为另一种数据类型。通过 TypeDescriptor 对象访问此类。对象从一种数据类型转换为另一种数据类型。通过ImageConverter 是一个类,可用于将 Image 对象从一种数据类型转换为另一种数据类型。通过 TypeDescriptor 对象访问此类。对象访问此类。
ImageFormatConverter
ImageFormatConverter 是一个类,可用于将 ImageFormat 对象从一种数据类型转换为另一种数据类型。通过 TypeDescriptor 对象访问此类。是一个类,可用于将ImageFormatConverter 是一个类,可用于将 ImageFormat 对象从一种数据类型转换为另一种数据类型。通过 TypeDescriptor 对象访问此类。对象从一种数据类型转换为另一种数据类型。通过ImageFormatConverter 是一个类,可用于将 ImageFormat 对象从一种数据类型转换为另一种数据类型。通过 TypeDescriptor 对象访问此类。对象访问此类。
PointConverter
将将 Point 对象从一种数据类型转换为另一种数据类型。对象从一种数据类型转换为另一种数据类型。
SizeConverter
SizeConverter 类用于从一种数据类型转换为另一种类型。通过 TypeDescriptor 对象访问此类。类用于从一种数据类型转换为另一种类型。通过SizeConverter 类用于从一种数据类型转换为另一种类型。通过 TypeDescriptor 对象访问此类。对象访问此类。
SizeFConverter
将将 SizeF 对象从一种类型转换成另一种类型。对象从一种类型转换成另一种类型。
RectangleConverter
将矩形从一种数据类型转换为另一种数据类型。通过将矩形从一种数据类型转换为另一种数据类型。通过 TypeDescriptor 访问此类。访问此类。
windows
在windows中使用
SystemBrushes
SystemBrushes 类的每个属性都是一个 SolidBrush,它是 Windows 显示元素的颜色。类的每个属性都是一个SystemBrushes 类的每个属性都是一个 SolidBrush,它是 Windows 显示元素的颜色。,它是SystemBrushes 类的每个属性都是一个 SolidBrush,它是 Windows 显示元素的颜色。显示元素的颜色。
SolidBrush单色画笔
定义单色画笔。画笔用于填充图形形状,如矩形、椭圆、扇形、多边形和封闭路径。此类不能被继承。
SystemColors
SystemColors 类的每个属性都是 Color 结构,这种结构是 Windows 显示元素的颜色。类的每个属性都是SystemColors 类的每个属性都是 Color 结构,这种结构是 Windows 显示元素的颜色。结构,这种结构是SystemColors 类的每个属性都是 Color 结构,这种结构是 Windows 显示元素的颜色。显示元素的颜色。
方法
创建获取
Equals(Object)测试color结构
测试指定的对象是否为 Color 结构并等效于此 Color 结构。
FromArgb(Int32, Int32, Int32, Int32)创建color结构
基于四个基于四个 ARGB 组件(alpha、红色、绿色和蓝色)值创建 Color 结构。组件(基于四个 ARGB 组件(alpha、红色、绿色和蓝色)值创建 Color 结构。、红色、绿色和蓝色)值创建基于四个 ARGB 组件(alpha、红色、绿色和蓝色)值创建 Color 结构。结构。 尽管此方法允许为每个组件传递尽管此方法允许为每个组件传递 32 位值,但每个组件的值仅限于 8 位。位值,但每个组件的值仅限于尽管此方法允许为每个组件传递 32 位值,但每个组件的值仅限于 8 位。位。
FromArgb(Int32, Int32, Int32)创建color结构
基于指定的基于指定的 8 位颜色值(红色、绿色和蓝色)创建 Color 结构。位颜色值(红色、绿色和蓝色)创建基于指定的 8 位颜色值(红色、绿色和蓝色)创建 Color 结构。结构。 隐式的隐式的 alpha 值为 255(完全不透明)。值为隐式的 alpha 值为 255(完全不透明)。(完全不透明)。 尽管此方法允许为每个颜色组件传递尽管此方法允许为每个颜色组件传递 32 位值,但每个组件的值仅限于 8 位。位值,但每个组件的值仅限于尽管此方法允许为每个颜色组件传递 32 位值,但每个组件的值仅限于 8 位。位。
FromArgb(Int32, Color)从指定的 Color 结构创建 Color 结构
从指定的从指定的 Color 结构创建 Color 结构,但要使用新指定的 alpha 值。尽管此方法允许为 alpha 值传递 32 位值,但该值仅限于 8 位。结构创建从指定的 Color 结构创建 Color 结构,但要使用新指定的 alpha 值。尽管此方法允许为 alpha 值传递 32 位值,但该值仅限于 8 位。结构,但要使用新指定的从指定的 Color 结构创建 Color 结构,但要使用新指定的 alpha 值。尽管此方法允许为 alpha 值传递 32 位值,但该值仅限于 8 位。值。尽管此方法允许为从指定的 Color 结构创建 Color 结构,但要使用新指定的 alpha 值。尽管此方法允许为 alpha 值传递 32 位值,但该值仅限于 8 位。值传递从指定的 Color 结构创建 Color 结构,但要使用新指定的 alpha 值。尽管此方法允许为 alpha 值传递 32 位值,但该值仅限于 8 位。位值,但该值仅限于从指定的 Color 结构创建 Color 结构,但要使用新指定的 alpha 值。尽管此方法允许为 alpha 值传递 32 位值,但该值仅限于 8 位。位。
FromArgb(Int32)ARGB值创建color
基于一个基于一个 32 位 ARGB 值创建 Color 结构。位基于一个 32 位 ARGB 值创建 Color 结构。值创建基于一个 32 位 ARGB 值创建 Color 结构。结构。
FromKnownColor(KnownColor)指定预定义颜色
基于指定的预定义颜色创建基于指定的预定义颜色创建 Color 结构。结构。
FromName(String)
基于预定义颜色的指定名称创建基于预定义颜色的指定名称创建 Color 结构。结构。
GetBrightness()获取color亮度值
获取此获取此 Color 结构的“色调-饱和度-亮度”(HSL) 的亮度值。结构的“色调获取此 Color 结构的“色调-饱和度-亮度”(HSL) 的亮度值。饱和度获取此 Color 结构的“色调-饱和度-亮度”(HSL) 的亮度值。亮度”获取此 Color 结构的“色调-饱和度-亮度”(HSL) 的亮度值。的亮度值。
GetHashCode()获取哈希代码
返回此返回此 Color 结构的哈希代码。结构的哈希代码。
GetHue()获取色调值
获取此获取此 Color 结构的“色调-饱和度-亮度”(HSL) 的色调值,以度为单位。结构的“色调获取此 Color 结构的“色调-饱和度-亮度”(HSL) 的色调值,以度为单位。饱和度获取此 Color 结构的“色调-饱和度-亮度”(HSL) 的色调值,以度为单位。亮度”获取此 Color 结构的“色调-饱和度-亮度”(HSL) 的色调值,以度为单位。的色调值,以度为单位。
GetSaturation()获取饱和度
获取此获取此 Color 结构的“色调-饱和度-亮度”(HSL) 的饱和度值。结构的“色调获取此 Color 结构的“色调-饱和度-亮度”(HSL) 的饱和度值。饱和度获取此 Color 结构的“色调-饱和度-亮度”(HSL) 的饱和度值。亮度”获取此 Color 结构的“色调-饱和度-亮度”(HSL) 的饱和度值。的饱和度值。
ToArgb()获取ARGB
获取此获取此 Color 结构的 32 位 ARGB 值。结构的获取此 Color 结构的 32 位 ARGB 值。位获取此 Color 结构的 32 位 ARGB 值。值。
ToKnownColor()获取
获取此获取此 Color 结构的 KnownColor 值。结构的获取此 Color 结构的 KnownColor 值。值。
ToString()转换为字符串
将此将此 Color 结构转换为用户可读的字符串。结构转换为用户可读的字符串。
比价
Equality(Color, Color)测试两个指定的 Color 结构是否等效。
Inequality(Color, Color)测试两个指定的 Color 结构是否不同。
SystemFonts
指定用于在指定用于在 Windows 显示元素中显示文本的字体。显示元素中显示文本的字体。
SystemIcons
SystemIcons 类的每个属性都是 Windows 系统级图标的 Icon 对象。此类不能被继承。类的每个属性都是SystemIcons 类的每个属性都是 Windows 系统级图标的 Icon 对象。此类不能被继承。系统级图标的SystemIcons 类的每个属性都是 Windows 系统级图标的 Icon 对象。此类不能被继承。对象。此类不能被继承。
SystemPens
SystemPens 类的每个属性都是一个 Pen,它是 Windows 显示元素的颜色,宽度为 1 个像素。类的每个属性都是一个SystemPens 类的每个属性都是一个 Pen,它是 Windows 显示元素的颜色,宽度为 1 个像素。,它是SystemPens 类的每个属性都是一个 Pen,它是 Windows 显示元素的颜色,宽度为 1 个像素。显示元素的颜色,宽度为SystemPens 类的每个属性都是一个 Pen,它是 Windows 显示元素的颜色,宽度为 1 个像素。个像素。
System.Drawing2D高级矢量图像
这个命名空间提供高级的二维和失量图像功能.
System.Drawing.Imaging图形图像操作
这个命名空间定义了一些类型实现图形图像的操作.
System.Drawing.Text字体集合操作
这个命名空间提供了操作字体集合的功能.
System.Drawing.Printing打印机绘制图像
这个命名空间定义了一些类型实现在打印纸上绘制图像, 和打印机交互以及格式化某个打印任务的总体外观等功能.
System.IO文件目录读写
包含了一些数据流类型并提供了文件和目录同步异步读写包含了一些数据流类型并提供了文件和目录同步异步读写.
FileStream 类
System.IO 命名空间中的 FileStream 类有助于文件的读写与关闭。该类派生自抽象类 Stream。
FileMode
FileAccess
FileShare
FileShare 枚举的成员有: Inheritable:允许文件句柄可由子进程继承。Win32 不直接支持此功能。 None:谢绝共享当前文件。文件关闭前,打开该文件的任何请求(由此进程或另一进程发出的请求)都将失败。 Read:允许随后打开文件读取。如果未指定此标志,则文件关闭前,任何打开该文件以进行读取的请求(由此进程或另一进程发出的请求)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。 ReadWrite:允许随后打开文件读取或写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行读取或写入的请求(由此进程或另一进程发出)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。 Write:允许随后打开文件写入。如果未指定此标志,则文件关闭前,任何打开该文件以进行写入的请求(由此进程或另一进过程发出的请求)都将失败。但是,即使指定了此标志,仍可能需要附加权限才能够访问该文件。 Delete:允许随后删除文件。
I/O 类
用于执行各种 文件操作, 如创建和删除文件、 读取或写入文件, 关闭文件等。
BinaryReader 从二进制流读取原始数据。
BinaryWriter 以二进制格式写入原始数据。
BufferedStream 字节流的临时存储。
Directory 有助于操作目录结构。
DirectoryInfo 用于对目录执行操作。
DriveInfo 提供驱动器的信息。
File 有助于处理文件。
FileInfo 用于对文件执行操作。
FileStream 用于文件中任何位置的读写。
MemoryStream 用于随机访问存储在内存中的数据流。
Path 对路径信息执行操作
StreamReader 用于从字节流中读取字符
StreamWriter 用于向一个流中写入字符
StringReader 用于读取字符串缓冲区
StringWriter 用于写入字符串缓冲区。
System.IO.Ports控制串行端口的类.
子类
SerialDataReceivedEventArgs为 DataReceived 事件提供数据。
SerialPinChangedEventArgs为 PinChanged 事件提供数据。
SerialErrorReceivedEventArgs为 ErrorReceived 事件准备数据。
SerialPort表示串行端口资源。
属性
协议
Handshake指定在为 SerialPort 对象建立串行端口通信时使用的控制协议。
校验位
Parity指定 SerialPort 对象的奇偶校验位。
字符类型
SerialData指定在 SerialPort 对象的串行端口上收到的字符的类型。
SerialPinChange指定在 SerialPort 对象上发生的更改的类型。
停止位数目
StopBits指定在 SerialPort 对象上使用的停止位的数目。
错误
SerialError指定在 SerialPort 对象上发生的错误。
方法
SerialDataReceivedEventHandler表示将处理 SerialPort 对象的 DataReceived 事件的方法。
SerialErrorReceivedEventHandler表示将处理 SerialPort 对象的 ErrorReceived 事件的方法。
SerialPinChangedEventHandler表示将处理 SerialPort 对象的 PinChanged 事件的方法。
System.IO.Comoression流压缩和解压缩
提供基本的流压缩和解压缩服务的类提供基本的流压缩和解压缩服务的类.
日期
System.GIobaIization
17.1 Calendar类
17.2 Comparelnfo类
17.3 Culturelnfo类
17.4 DateTimeFormatlnfo类
17.5 GregorianCalendar类
17.6 NumberFormatlnfo类
17.7 Regionlnfo类
17.8 SortKey类
17.9 Stringlnfo类
17.10 TextElementEnumerator类
17.11 Textlnfo类:
网络
System.Net包含的类可为当前网络上的多种协议提供简单的编程接口.
14.1 Dns类
14.2 DnsPermission类
14.3 HttpWebRequest类
14.4 HttpWebResponse类
14.5 IPAddress类
14.6 IPEndPoint类
14.7 IPHostEntry类
14.8 SocketAddrCSS类
14.9 WebClient类
14.10 WebPermission类
14.1 l WebProxy类
14.12 WebRequest类
14.13 WebResponse类
System.Net.Cache为获取的资源定义缓存
这个命名空间定义了一些类和枚举这个命名空间定义了一些类和枚举, 用于为使用用于为使用WebRequest和HttpWebRequest类获取的资源定义缓存策略.和用于为使用WebRequest和HttpWebRequest类获取的资源定义缓存策略.类获取的资源定义缓存策略用于为使用WebRequest和HttpWebRequest类获取的资源定义缓存策略.
System.Net.Mime将电子邮件发送到SMTP服务器进行传送的类.
System.Net.Networkinformation网络信息
提供对网络流量数据提供对网络流量数据, 网络地址信息和 本地计算机的地址更改通知的访问本地计算机的地址更改通知的访问, 还包含 实现实现Ping实用工具的类.实用工具的类实现Ping实用工具的类. 你可以使用你可以使用Ping和相关的类来检查是否可通过网络访问某台计算机.和相关的类来检查是否可通过网络访问某台计算机你可以使用Ping和相关的类来检查是否可通过网络访问某台计算机.
System.Net.Sockets提供Windows套接字接口的托管实现
为严格控制网络访问的开发人员
16.1 NetworkStream类
16.2 Socket类
16.3 TcpClient类
16.4 TcpListener类
16.5 UdpClient类
System.Net.Configuration以编程方式访问和更新System.Net命名空间的配置设置的类.
进程
内存
System.Management电脑内存操作等信息
上面看到那么一堆堆的类库都从来没接触过,这会终于碰到个用过的了,看着它可顺眼了啊.你要获取电脑上内存,操作系统类型,生产厂商等等一些信息就得用到这里面的类库了啊. 比如像下面用System.Managment这命名空间下的类 ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * From Win32_OperatingSystem"); ManagementObjectCollection queryCollection = query.Get(); //queryCollection这是一个集合,里面包括了很多很多信息,你可以从其中慢慢去一个个的解析出来你想要的各种信息了啊.
System.Security根加密相关类库
顾名思义,这个dll里面有类库是跟加密相关的.比如有System.Security.Cryptography命名空间,我们要使用Des加密的话就得用到这个命名空间,不过要注意的时,这个命名空间下面的 类不只存在于System.Security这一个dll里面,还有些类是在mscorlib和System这两个dll里面. System.Runtime.Remoting System.Runtime.Serialization.Formatters.Soap 第一个Reomoting自然是跟远程调用相关的类库, 后者是跟soap相关的.哎不过这里面的类我都没玩过.发现我没用过的类库可太多了,有点孤陋寡闻了啊.
System.Messaging消息队列类库
啥消息队列(MessageQueue)的操作会用到里面的类库, 这里的消息貌似不是指C++中常提到的消息机制. 而是指不同电脑之间传送的消息,传送的数据.我没用过,也不知道具体咋用.
System.Threading多线程
提供启用多线程的类和接口提供启用多线程的类和接口.
9.1 AutoResetEvent类
9.2 Monitor类
9.3 Mutex类
9.4 ReaderWriterLoek类
9.5 Thread类
9.6 ThreadPool类
9 7 Timer娄
9.8 WaitHandle类
System.Runtime.InteropServices应用程序接口
使得使得.NET类型可以与非托管代码交互.类型可以与非托管代码交互使得.NET类型可以与非托管代码交互.
15.1 ActivatedClientTypeEntry类
15.2 ActivatedServiceTypeEntry类
15.3 ObjectHandle类
15.4 ObjRef类
15.5 RemotingServices类
15.6 WellKnownClientTypeEntry类
System.Workflow开发工作流应用程序.
硬件驱动
SerialPort
构造函数
SerialPort()
初始化初始化 SerialPort 类的新实例。类的新实例。
SerialPort(IContainer)指定ICONtainer
使用指定的使用指定的 IContainer 对象初始化 SerialPort 类的新实例。对象初始化使用指定的 IContainer 对象初始化 SerialPort 类的新实例。类的新实例。
SerialPort(String)指定端口初始化
使用指定的端口名初始化使用指定的端口名初始化 SerialPort 类的新实例。类的新实例。
SerialPort(String, Int32)端口名+波特率
使用指定的端口名和波特率初始化使用指定的端口名和波特率初始化 SerialPort 类的新实例。类的新实例。
SerialPort(String, Int32, Parity)端口名+波特率+奇偶效验位
使用指定的端口名、波特率和奇偶校验位初始化使用指定的端口名、波特率和奇偶校验位初始化 SerialPort 类的新实例。类的新实例。
SerialPort(String, Int32, Parity, Int32)端口名+波特率+奇偶效验位
使用指定的端口名、波特率、奇偶校验位和数据位初始化使用指定的端口名、波特率、奇偶校验位和数据位初始化 SerialPort 类的新实例。类的新实例。
SerialPort(String, Int32, Parity, Int32, StopBits)端口名、波特率、奇偶校验位、数据位和停止位初始化
使用指定的端口名、波特率、奇偶校验位、数据位和停止位初始化使用指定的端口名、波特率、奇偶校验位、数据位和停止位初始化 SerialPort 类的新实例。类的新实例。
字段
InfiniteTimeout
指示不应该发生超时。
属性
BaseStream
获取获取 Stream 对象的基础 SerialPort 对象。对象的基础获取 Stream 对象的基础 SerialPort 对象。对象。
BaudRate获取或设置串行波特率。
BreakState获取或设置中断信号状态。
BytesToRead获取接收缓冲区中数据的字节数。
BytesToWrite获取发送缓冲区中数据的字节数。
CanRaiseEvents获取一个指示组件是否可以引发事件的值。(继承自 Component)
CDHolding端口的载波检测行的状态。
Container
获取获取 IContainer,它包含 Component。(继承自 Component),它包含获取 IContainer,它包含 Component。(继承自 Component)。获取 IContainer,它包含 Component。(继承自 Component)继承自获取 IContainer,它包含 Component。(继承自 Component)
CtsHolding可以发送行的状态
获取“可以发送”行的状态。
DataBits
获取或设置每个字节的标准数据位长度。
DesignMode
获取一个值,用以指示 Component 当前是否处于设计模式。(继承自 Component)
DiscardNull
获取或设置一个值,该值指示 null 字节在端口和接收缓冲区之间传输时是否被忽略。
DsrHolding
获取数据设置就绪 (DSR) 信号的状态。
DtrEnable
获取或设置一个值,该值在串行通信过程中启用数据终端就绪 (DTR) 信号。
Encoding
获取或设置传输前后文本转换的字节编码。
Events
获取附加到此 Component 的事件处理程序的列表。(继承自 Component)
方法
数据
DiscardInBuffer()丢弃接收缓冲区
丢弃来自串行驱动程序的接收缓冲区的数据。
DiscardOutBuffer()丢弃传输缓存区
丢弃来自串行驱动程序的传输缓冲区的数据。
读取
Read(Byte[], Int32, Int32)读取字节
从从 SerialPort 输入缓冲区读取一些字节并将那些字节写入字节数组中指定的偏移量处。输入缓冲区读取一些字节并将那些字节写入字节数组中指定的偏移量处。
Read(Char[], Int32, Int32)读取字符串
从从 SerialPort 输入缓冲区中读取一些字符,然后将这些字符写入字符数组中指定的偏移量处。输入缓冲区中读取一些字符,然后将这些字符写入字符数组中指定的偏移量处。
ReadByte()读取一个字节
从从 SerialPort 输入缓冲区中同步读取一个字节。输入缓冲区中同步读取一个字节。
ReadChar()读取一个字符
从从 SerialPort 输入缓冲区中同步读取一个字符。输入缓冲区中同步读取一个字符。
ReadLine()读取到newline值
一直读取到输入缓冲区中的一直读取到输入缓冲区中的 NewLine 值。值。
ReadExisting()读取所有可用字节
在编码的基础上,读取在编码的基础上,读取 SerialPort 对象的流和输入缓冲区中所有立即可用的字节。对象的流和输入缓冲区中所有立即可用的字节。
ReadTo(String)读取到输入指定value字符串
一直读取到输入缓冲区中的指定一直读取到输入缓冲区中的指定 value 的字符串。的字符串。
写入
Write(Byte[], Int32, Int32)写入字节
使用缓冲区中的数据将指定数量的字节写入串行端口。
参数
bybte要写入端口的数据字节数组
buffer Byte[]
buffer从零开始的字节偏移量
offset Int32 buffer 参数中从零开始的字节偏移量,从此处开始将字节复制到端口。
count写入字节数
count Int32 要写入的字节数。
Write(Char[], Int32, Int32)写入字符
使用缓冲区中的数据将指定数量的字符写入串行端口。
Write(String)字符串写入串行端口
将指定的字符串写入串行端口。
WriteLine(String)字符串和newline写入区
将指定的字符串和将指定的字符串和 NewLine 值写入输出缓冲区。值写入输出缓冲区。
控制
端口连接
Close()关闭端口连接
关闭端口连接,将关闭端口连接,将 IsOpen 属性设置为 false,并释放内部 Stream 对象。属性设置为关闭端口连接,将 IsOpen 属性设置为 false,并释放内部 Stream 对象。,并释放内部关闭端口连接,将 IsOpen 属性设置为 false,并释放内部 Stream 对象。对象。
Open()端口连接
打开一个新的串行端口连接。
组件资源
Dispose()释放组件资源
释放由释放由 Component 使用的所有资源。(继承自 Component)使用的所有资源。释放由 Component 使用的所有资源。(继承自 Component)继承自释放由 Component 使用的所有资源。(继承自 Component)
Dispose(Boolean)
释放由释放由 SerialPort 占用的非托管资源,还可以另外再释放托管资源。占用的非托管资源,还可以另外再释放托管资源。
InitializeLifetimeService()生存期策略
获取生存期服务对象来控制此实例的生存期策略。获取生存期服务对象来控制此实例的生存期策略。(继承自 MarshalByRefObject)继承自获取生存期服务对象来控制此实例的生存期策略。(继承自 MarshalByRefObject)
状态
ToString()组件名称
返回包含返回包含 Component 的名称的 String(如果有)。不应重写此方法。(继承自 Component)的名称的返回包含 Component 的名称的 String(如果有)。不应重写此方法。(继承自 Component)(如果有)。不应重写此方法。返回包含 Component 的名称的 String(如果有)。不应重写此方法。(继承自 Component)继承自返回包含 Component 的名称的 String(如果有)。不应重写此方法。(继承自 Component)
CreateObjRef(Type)远程对象通信全部信息
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (继承自 MarshalByRefObject)继承自(继承自 MarshalByRefObject)
GetPortNames()端口名
获取当前计算机的串行端口名的数组。
实例种类
GetType()
获取当前实例的获取当前实例的 Type。(继承自 Object)。获取当前实例的 Type。(继承自 Object)继承自获取当前实例的 Type。(继承自 Object)
操作
Equals(Object)对象判断
确定指定的对象是否等于当前对象。确定指定的对象是否等于当前对象。(继承自 Object)继承自确定指定的对象是否等于当前对象。(继承自 Object)
GetHashCode()
用作默认哈希函数。用作默认哈希函数。(继承自 Object)继承自用作默认哈希函数。(继承自 Object)
GetLifetimeService()
检索控制此实例的生存期策略的当前生存期服务对象。检索控制此实例的生存期策略的当前生存期服务对象。(继承自 MarshalByRefObject)继承自检索控制此实例的生存期策略的当前生存期服务对象。(继承自 MarshalByRefObject)
MemberwiseClone()浅表副本
创建当前创建当前 Object 的浅表副本。(继承自 Object)的浅表副本。创建当前 Object 的浅表副本。(继承自 Object)继承自创建当前 Object 的浅表副本。(继承自 Object)
MemberwiseClone(Boolean)浅表副本
创建当前创建当前 MarshalByRefObject 对象的浅表副本。(继承自 MarshalByRefObject)对象的浅表副本。创建当前 MarshalByRefObject 对象的浅表副本。(继承自 MarshalByRefObject)继承自创建当前 MarshalByRefObject 对象的浅表副本。(继承自 MarshalByRefObject)
GetService(Type)组件提供的服务
返回一个对象,该对象表示由返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。(继承自 Component)或它的返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。(继承自 Component)提供的服务。返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。(继承自 Component)继承自返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。(继承自 Component)
事件
DataReceived数据接收
指示已通过由指示已通过由 SerialPort 对象表示的端口接收了数据。对象表示的端口接收了数据。
Disposed释放组件产生
当通过调用当通过调用 Dispose() 方法释放组件时发生。(继承自 Component)方法释放组件时发生。当通过调用 Dispose() 方法释放组件时发生。(继承自 Component)继承自当通过调用 Dispose() 方法释放组件时发生。(继承自 Component)
ErrorReceived端口发生了错误
指示由指示由 SerialPort 对象表示的端口上发生了错误。对象表示的端口上发生了错误。
PinChanged端口非数据信号事件
指示由指示由 SerialPort 对象表示的端口上发生了非数据信号事件。对象表示的端口上发生了非数据信号事件。
c#串口的十六进制发送转换函数
private static byte[] strToHexByte(string hexString) { hexString = hexString.Replace(" ", "");//将原有的空格分隔除去 if ((hexString.Length % 2) != 0) //长度是及数个 hexString += " "; //加一个空格 byte[] returnBytes = new byte[hexString.Length / 2]; //创建byte类型数据 for (int i = 0; i returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16); Convert.ToByte(hexString.Substring(i * 2, 2), 16); //将16进制字符串转化为byte类型 return returnBytes;返回byte类型 }
特殊
System mscorlib综合类库
这两个dll中的类库是我们用的最多的了. 这很好的体现了二八原则.这里面的类库可能只占所有类库的20%, 但是它的重要性可能占80%了.得另外单独把它整出来讨论下才行.
语言
类型
System数据数学计算
处理内建数据、数学计算、随机数的产生、环境变量、垃圾回收器及一些常见的异常和特征处理内建数据、数学计算、随机数的产生、环境变量、垃圾回收器及一些常见的异常和特征.
3.1 Activator类
3.2 Array类
3.3 Console类
3.4 Convert类
3.5 Delegate类
3.6 Exception类
3.7 MarshalByRefObject类
3.8 Math类
3.9 Object类
3.10 OverflowException类
3.11 Random类
3.12 String类
方法
ToCharArray0这个函数可以将 String编程cha数组
Length字符丰长度
ToLower字符串全部小写
ToUpper字符串全部大写
Trim字符串删除空格
PadLeft和 PadRight0字符串左边或者右边添加空格
IndexOf(,);定位到,的下标
spit(“);切片
3.13 Type类
3.14 Uri类
类型转换
System.Collections集合相关的类型
包含了一些与集合相关的类型,比如列表、队列、位数组、哈希表和字典等包含了一些与集合相关的类型,比如列表、队列、位数组、哈希表和字典等.
4.1 ArrayList类
4.2 BitArray类
4.3 CollectionBase类
4.4 DictionaryBase类
4.5 Hashtable类
4.6 Queue类
4.7 So~edList类
4.8 Stack类
System.Collections.Generic泛型集合接口类
System.Collections.Generic 命名空间包含定义泛型集合的接口和类, 用户可以使用泛型集合来创建强类型集合, 这种集合能提供比非泛型强类型集合更好的类型安全性和性能
类
Comparer 为 IComparer 泛型接口的实现提供基类。 Dictionary.KeyCollection 表示 Dictionary 中键的集合。 此类不能被继承。 Dictionary.ValueCollection 表示 Dictionary 中值的集合。 此类不能被继承。 Dictionary 表示键和值的集合。 EqualityComparer 为 IEqualityComparer 泛型接口的实现提供基类。 HashSet 表示值的集。 KeyedByTypeCollection 提供一个集合,该集合的项是用作键的类型。 KeyNotFoundException 指定用于访问集合中元素的键与集合中的任何键都不匹配时所引发的异常。 LinkedList 表示双向链接列表。 LinkedListNode 表示 LinkedList 中的节点。 此类不能被继承。 List 表示可通过索引访问的对象的强类型列表。 提供用于对列表进行搜索、排序和操作的方法。 Queue 表示对象的先进先出集合。 SortedDictionary.KeyCollection 表示 SortedDictionary 中键的集合。 此类不能被继承。 SortedDictionary.ValueCollection 表示 SortedDictionary 中值的集合。 无法继承此类 SortedDictionary 表示根据键进行排序的键/值对的集合。 SortedList 表示基于相关的 IComparer 实现按键进行排序的键/值对的集合。 SortedSet 表示按排序顺序保持的对象的集合。 Stack 表示相同指定类型的实例可变大小的后进先出 (LIFO) 集合。 SynchronizedCollection 提供一个线程安全集合,其中包含泛型参数所指定类型的对象作为元素。 SynchronizedKeyedCollection 提供一个线程安全集合,该集合所含对象的类型由一个泛型参数指定,并且集合根据键进行分组。 SynchronizedReadOnlyCollection 提供一个线程安全的只读
字典
Dictionary<TKey,TValue>.KeyCollection
表示 Dictionary<TKey,TValue> 中键的集合。 此类不能被继承。
Dictionary<TKey,TValue>.ValueCollection
表示 Dictionary<TKey,TValue> 中值的集合。 此类不能被继承。
Dictionary<TKey,TValue>键和值
表示键和值的集合。
列表
List<T>
表示可通过索引访问的对象的强类型列表。提供用于对列表进行搜索、排序和操作的方法。
SortedList<TKey,TValue>
表示基于相关的 IComparer<T> 实现按键进行排序的键/值对的集合。
LinkedListNode<T>
表示 LinkedList<T> 中的节点。 此类不能被继承。
对象
SortedSet<T>
表示按排序顺序保持的对象的集合。
集合
KeyedByTypeCollection<TItem>
提供一个集合,该集合的项是用作键的类型。
KeyNotFoundException
指定用于访问集合中元素的键与集合中的任何键都不匹配时所引发的异常。
接口
EqualityComparer<T>
为 IEqualityComparer<T> 泛型接口的实现提供基类。
键值
SortedDictionary<TKey,TValue>.KeyCollection
表示表示 SortedDictionary 中键的集合。此类不能被继承。中键的集合。此类不能被继承。
SortedDictionary<TKey,TValue>.ValueCollection
表示表示 SortedDictionary 中值的集合。无法继承此类中值的集合。无法继承此类
SortedDictionary<TKey,TValue>
表示根据键进行排序的键表示根据键进行排序的键/值对的集合。值对的集合。
数据结构
Comparer<T>
为为 IComparer 泛型接口的实现提供基类。泛型接口的实现提供基类。
HashSet<T>
表示值的集。
LinkedList<T>表示双向链接列表。
Queue<T>表示对象的先进先出集合。
Stack<T>相同指定类型的实例可变大小的后进先出 (LIFO) 集合
线程安全
SynchronizedCollection<T>
提供一个线程安全集合,其中包含泛型参数所指定类型的对象作为元素。
SynchronizedKeyedCollection<K,T>
提供一个线程安全集合,该集合所含对象的类型由一个泛型参数指定,并且集合根据键进行分组。
SynchronizedReadOnlyCollection<T>
提供一个线程安全的只读
枚举结构
Dictionary<TKey,TValue>.Enumerator枚举 Dictionary<TKey,TValue> 的元素。
Dictionary<TKey,TValue>.KeyCollection.Enumerator
Dictionary<TKey,TValue>.ValueCollection.Enumerator
HashSet<T>.Enumerator
KeyValuePair<TKey,TValue>
LinkedList<T>.Enumerator
List<T>.Enumerator
Queue<T>.Enumerator
SortedDictionary<TKey,TValue>.Enumerator
SortedDictionary<TKey,TValue>.KeyCollection.Enumerator
SortedDictionary<TKey,TValue>.ValueCollection.Enumerator
SortedSet<T>.Enumerator
Stack<T>.Enumerator
接口
ICollection<T>定义操作泛型集合的方法。
IComparer<T>定义类型为比较两个对象而实现的方法。
IDictionary<TKey,TValue>表示键/值对的泛型集合。
IEnumerable<T>公开枚举数,该枚举数支持在指定类型的集合上进行简单迭代。
IEnumerator<T>支持在泛型集合上进行简单迭代。
IEqualityComparer<T>定义方法以支持对象的相等比较。
IList<T>表示可按照索引单独访问的一组对象。
IReadOnlyCollection<T>表示元素的强类型的只读集合。
IReadOnlyDictionary<TKey,TValue>表示键/值对的泛型只读集合。
IReadOnlyList<T>表示可按照索引访问的一组只读元素。
ISet<T> 提供用于集的抽象化的基接口。
System.Reflection加载类型
包括了一些提供加载类型包括了一些提供加载类型,方法和字段的托管视图以及动态创建和调用类型功能的类型.方法和字段的托管视图以及动态创建和调用类型功能的类型包括了一些提供加载类型,方法和字段的托管视图以及动态创建和调用类型功能的类型.
6.1 Assembly类
6.2 AssemblyName类
6.3 Constructorlnfo类
6.4 Fieldlnfo类
6.5 Module类
6.6 Propertylnfo类
System.Text字符串操作
包含了一些表示字符编码的类型并提供了字符串的操作和格式化包含了一些表示字符编码的类型并提供了字符串的操作和格式化. 
7.1 Encoding类
7.2 Decoder类
7.3 StringBuilder类
7.4 UnicodeEncoding类
7.5 UTF8Encoding类
System.Linq支持使用语言集成查询的查询.
System.Xml.Linq包含LINQtoXML的类.
System.Data.Linq包含支持与LINQtoSQL应用程序中的关系数据库进行交互的类.
Form1.cs窗体程序

winform实例内容
窗体
01-窗体技巧
QQ窗体
窗体的浮动及隐藏
窗体换肤
磁性窗体的设计
仿XP系统的任务栏菜单
滚动字幕
获取文件类型
获取文件目录
焦点变色
动改变自制窗体的大小
鼠标穿透
鼠标穿透窗体
无边框窗体
限制窗体大小
向窗体中拖放图片并显示
隐藏工具箱
用树型列表动态显示菜单
自定义窗体的最大化、最小化和关闭
自定义屏保
02-控件操作
Clarity Control
control阴影
DataGridViewToTreeView
Display Row Count
Drop Down Form
EnglishTextBox
File Copy
GetClipBoardPicture
Plaintext
Popup窗口提醒
RestrictDigit
Vista风格的日历
带行数和标尺的 RichTextBox
弹出模式窗口显示进度条
根据文件大小显示文件复制进度条
合并单元格
美化 ComboBox
美化 GroupBox
美化单选按钮和复选按钮
添加内容到Treeview
像EXcel一样复制 Datagridview中的
重绘ListBox控件
自定义水晶按钮控件
自制数值文本框组件
组合
03-图像操作
listview数据添加去闪烁
LoadfLASH
Picture Box显示图片
播放Fash
播放F
操作XML
打开Ul
仿QQ截图
给图片加日期
绘制鼠标Cur
绘制文字
绘制选中
绘制噪点
绘制直线
获取当前时间
获取鼠标坐标
获取照片时间
计时器例子
批量添加水印
批量图片格式转换
屏幕抓图
取色器
石英时钟
缩略图
图片合成
图片上绘制文字
图片缩略图
图片透明
图片转换格式
图片自动播放
压缩图片
颜色抬取器
中文验证码
抓取整站图片
抓取桌面
抓取左上角图片
操作系统
06-系统操作
CPU内存使用率
半角全角转换
定时关机
动态图标显示
读写|N
多功能键盘
进程管理器
屏蔽鼠标按键
屏幕放大镜
启动项管理器
设置和屏蔽系统热键
设置鼠标样式
设置系统时间
设置桌片壁纸
身份证验证器
鼠标设置器
1数字大小写转换器
系统挂机锁
显示器控制
虚拟键盘
1音乐风最壁纸
用键盘控制窗体的移动
自定义动画鼠标
左右键切换
07-文件处理
WordTohtml
Wordtortf
WordTotex
操作|N文件
操作XML文件
创建PDF文档
汉字转拼音
获取本地磁盘目录
获取目录中Word问文件列表
批量更名器
批量解压缩
伪装文件夹
文件分割与合并
08-网络操作
控制
局域网IP扫描
局域网端口扫描
自动更换IP
远程关闭重启计算机
网络电台
下载
FTP下载
断点续传下载文件
普通下载
发送
调用SMTP发送文本内容
调用SMTP发送有附件的邮件
调用 Outlook发送邮件
网络发送接收统计
11-硬件读写
1.串口助手
C卡读写
D卡识别
读写加密狗
短信猫
摄像头大头贴
视频采集卡读写
数据采集器读写
指纹识别器
04-报表打印
20Print
30Print
AllPrint
Database
DBCrystalReport
DesignIn Goods Bill
Design Receipt
DesignReport
DesignStuCertificate
Desian stu Resume
PagesPrint
PrintDirection
Print Empty Certificate
PrintEnvelop
PrintGoodsIn Bill
Printgoodsoutbill
Printlmage
PrintOneCertificate
Printremitbill
PrintstuCertificate
Printstu resume
PrintText
PrintTopFive
SetPrintRange
ShowBarCod
ShowCReport
VRint
打印条形码
09-数据库操作
Database
Linq操作 Dataset
Linq操作SQL
Linq操作Xml
Linq操作数组集合
触发器SQL文件
读取数据库表结构
进制存取图片
交叉表
数据库管理
通过存储过程管理信息
通过视图修改信息
通用数据库连接
10-加密解密
MD5加密
根据CPU硬盘获取机器码
加密数据报
口令加密BAT
口令加密Exe
口令加密RAR
使用强名称标识软件
伪随机数加密
文件加密
异或加密数字
注册码注册机制
12-游戏设计
俄罗斯方块
华容道
贪吃蛇
五子棋
自定义
飞机维修工具管理

图像数据无线传输的接收
1.将串口的byte数组输入上位机将串口的1.将串口的byte数组输入上位机数组输入上位机 1.上位机中的串口通信程序上位机中的串口通信程序 2.建立相应的上位机界面建立相应的上位机界面 
打开串口
串口检测
清空接受区
图像处理系统

图像还原程序
1.将上位机接收的byte数组还原成下位机拍摄的维修工具二维码图像将上位机接收的1.将上位机接收的byte数组还原成下位机拍摄的维修工具二维码图像数组还原成下位机拍摄的维修工具二维码图像 图像转换为一串byte数组
图形转换

图像还原算法
综上所述,两种常见图像还原算法都能按照一定的步骤将byte数据还原成图像。然而memory stream算法只能将已知的图像和byte数据相互转换, 在原图像未知的情况下无法将byte还原成图像, 因此memory stream算法不能用于飞机维修工具管理系统的图像还原。 其次,使用ImageLock扫描算法必须获得byte数据中图像的长宽信息才能正确地绘制图像。结合本系统具体数据可知,图像传输的数据只包含像素值信息,因此ImageLock扫描算法也不能用于飞机维修工具管理系统的图像还原。 由此可知现有的图像还原算法并不能解决本系统中图像还原的问题。因此需要设计一套适用于飞机维修工具管理系统的图像还原算法。
memory stream算法
该算法的原理是,首先将指定图像经过一定的方法转化为byte数组并将图像和对应的数组存储在memory stream空间中。 当再次接收到相同数组时,根据之前存储在memory stream中的对应关系,输出byte数组对应的图像,即转化前的图像
ImageLock扫描算法
1.使用特定函数扫描byte数据流,根据数据中含有的原图像长度和宽度信息建立空白图像,使用特定函数扫描byte数据流,根据数据中含有的原图像长度和宽度信息建立空白图像, 2.然后根据ImageLockMode函数,依次写入byte数据并根据byte数据代表的像素值在之前建立的空白图像中绘制图像
图像还原算法程序设计
停止检测

对还原图像处理
排除图像噪声和光照强度等因素对图像中二维码识别的干扰
滤波
二值化
3.界面显示图像
将处理后的图像显示在指定的上位机图像显示界面中
4.将图像传递给图像识别和数据库建立子系统
对图像进行一定的处理,能提高图像的质量,并在一定程度上提高识别的成功率。
图像识别
建立相应的上位机界面
图像识别部分
使用QR code二维码识别技术识别维修工具图像中的二维码
数据库连接子系统
连接数据库
数据库建立子系统
飞机维修工具管理系统的数据库
1.使用SQL server建立
1.在系统工作前将所有的维修工具信息和对应的二维码信息录入数据库
2.并建立上位机数据库界面
2.图像识别和数据库连接子系统连接后
使用输入数据库的二维码信息能查询到对应的维修工具信息
实现了二维码图像信息与数据库中工具信息的交互 其次能对数据库中工具的借还信息进行操作和管理, 完成维修工具的借出和归还
对数据库中工具的借还信息进行操作和管理,
Form1.Designer.cs设计器
和前面一模一样,再次定义了一个命名空间HelloWorld和Form1类, 这个部分类中定义了我们使用的控件、事件委托以及如Dispose方法等。 1.最关键的一点,这里类也是用partial关键字修饰的,可以看到,Partial是局部类型的意思, 允许我们将一个类、结构或接口分成几个部分, 分别实现在几个不同的.cs文件中,用partial定义的类可以在多个地方被定义,最后C#编译器编译时会将这些类当作一个类来处理; 代码都是自动生成 系统自动维护
自带封装类
c#所有东西全都是类 一个继承另一个,子类继承父类。 连string都是个类。申明一个字符串变量,就是实例化一个string类。 实例化类这个嘛不是c#才有问题,是面向对象的问题。
控制台
Console. WriteLine(“字符串“)
Console. WriteLine("{0}{1}{2}",n_a, n_ b, n_c);
str=Console. ReadLine0:
类型转换
整形
ToDecima|将指定值转换为 Decimal数字。
nint= Convert. ToInt320强制转换成int
无符号
ToByte将指定的值转换为8位无符号整数
ToUInt16
将指定的值转换为16位无符号整数。
ToUInt32
将指定的值转换为32位无符号整数
ToUInt64
将指定的值转换为64位无符号整数。
有符号
将指定的值转换为8位有符号整数
ToInt16将指定的值转换为16位有符号整数
ToInt32将指定的值转换为32位有符号整数
ToInt64将指定的值转换为64位有符号整数
浮点
ToDouble将指定的值转换为双精度浮点数字
将指定的值转换为单精度浮点数字
字符类型
ToChar将指定的值转换为 Unicode字符
ToString将指定值转换为其等效的stng表示形式
ToBase64 String将8位无符号整数数组的值转换为它的等效stng表示形式(使用base64数字编码)。
ToBase64 Char Array将8位无符号整数数组的子集转换为用Base64数字编码的 Unicode字符数组的等价子集
布尔类型
ToBoolean将指定的值转换为等效的布尔值
日期类型
ToDateTime将指定的值转换为 Date Time
异常处理
try/catch

异常类
派生自 Sytem.SystemException 类的预定义的异常类
System.IO.IOException 处理 I/O 错误。
System.IndexOutOfRangeException
处理当方法指向超出范围的数组索引时生成的错误
System.ArrayTypeMismatchException 数组类型不匹配。
处理当数组类型不匹配时生成的错误
System.NullReferenceException空对象错误
处理当依从一个空对象时生成的错误
System.DivideByZeroException 除以零错误
处理当除以零时生成的错误
System.InvalidCastException转换错误
处理在类型转换期间生成的错误。
System.OutOfMemoryException内存不足
处理空闲内存不足生成的错误。
System.StackOverflowException栈溢出错误
处理栈溢出生成的错误
Dispose方法
InitializeComponent()窗体初始化
创建控件/继承控件类 初始化控件的初始属性 创建控件的事件委托
控件类字段
Form1.cs
常用属性
(1)Name属性
用来获取或设置窗体的名称,在应用程序中可通过用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。属性来引用窗体。
位置
(3)StartPosition窗口起始位置
用来获取或设置运行时窗体的起始位置。其取值及含义如表用来获取或设置运行时窗体的起始位置。其取值及含义如表9-1 所示。所示。 默认的起始位置是默认的起始位置是WindowsDefaultLocation。。
(7)Left属性:
用来获取或设置窗体的左边缘的用来获取或设置窗体的左边缘的x坐标(以像素为单位)。坐标(以像素为单位)。
(8)Top属性:
用来获取或设置窗体的上边缘的用来获取或设置窗体的上边缘的y坐标(以像素为单位)。坐标(以像素为单位)。
(29)Visible是否显示该窗体
用于获取或设置一个值,该值指示是否显示该窗体或控件。 值为值为true时显示窗体或控件,时显示窗体或控件, 为为 false时不显示。时不显示。
大小
(2) WindowState显示方式
用来获取或设置窗体的窗口状态。取值有三种: Normal (窗体正常显示)、(窗体正常显示)、 Minimized(窗体以最小化形式显示)(窗体以最小化形式显示) Maximized(窗体以最大化形式显示)。(窗体以最大化形式显示)。
(5)Width属性:
用来获取或设置窗体的宽度。
(6)Height属性:
用来获取或设置窗体的高度。
背景
(18)BackColor背景色
用来获取或设置窗体的背景色。
(19)BackgroundImage背景图像
用来获取或设置窗体的背景图像。
文字
(4)Text标题栏显示的文字
该属性是一个字符串属性, 用来设置或返回在 窗口标题栏中显示的文字。
(21)Font显示文本的字体
用来获取或设置控件显示的文本的字体。
(22)ForeColor字体颜色
用来获取或设置控件的前景色。
交互
(17)AutoScroll 自动滚动
用来获取或设置一个值,该值指示窗体是否实现自动滚动。 如果此属性值设置为如果此属性值设置为true,则当任何控件位于窗体工作区之外时,会在该窗体上显示滚动条。,则当任何控件位于窗体工作区之外时,会在该窗体上显示滚动条。 另外,当自动滚动打开时,窗体的工作区自动滚动,以使具有输入焦点的控件可见。
(20)Enabled 交互响应
用来获取或设置一个值,该值指示控件是否可以对用户交互作出响应。 如果控件可如果控件可- 3 -以对用户交互作出响应,则为 true;否则为false。默认值为true。以对用户交互作出响应,则为如果控件可- 3 -以对用户交互作出响应,则为 true;否则为false。默认值为true。;否则为如果控件可- 3 -以对用户交互作出响应,则为 true;否则为false。默认值为true。。默认值为如果控件可- 3 -以对用户交互作出响应,则为 true;否则为false。默认值为true。。
事件
(25)KeyPreview按键事件
用来获取或设置一个值,该值指示在将按键事件传递到具有焦点的控件前,窗体是否将接收该事件。 值为值为true时,窗体将接收按键事件,时,窗体将接收按键事件, 值为值为false时,窗体不接收按键事件。时,窗体不接收按键事件。
(30)Capture鼠标由此控件响应
如果该属性值为如果该属性值为true,, 则鼠标就会被限定只由此控件响应,不管鼠标是否在此控件的范围内。
包含
按钮
(10)MaximizeBox最大化按钮
用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮。值为用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮。值为 true时显示最大化按钮,值为false时不显示最大化按钮。时显示最大化按钮,值为用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮。值为 true时显示最大化按钮,值为false时不显示最大化按钮。时不显示最大化按钮。
(11)MinimizeBox 最小化按钮
用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮。值为用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮。值为 true时显示最小化按钮,值为false时不显示最小化按钮。时显示最小化按钮,值为用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮。值为 true时显示最小化按钮,值为false时不显示最小化按钮。时不显示最小化按钮。
(12)AcceptButton 触发按键
该属性用来获取或设置一个值,该值是一个按钮的名称, 当按当按 Enter 键时就相当于单击了窗体上的该按钮。键时就相当于单击了窗体上的该按钮。
(13)CancelButton 取消按钮
该属性用来获取或设置一个值,该值是一个按钮的名称,当按该属性用来获取或设置一个值,该值是一个按钮的名称,当按 Esc 键时就相当于单击了窗体上的该按钮。键时就相当于单击了窗体上的该按钮。
框
(9)ControlBox控制框
用来获取或设置一个值,该值指示在该窗体的标题栏中是否显示控制框。 值为值为true时将显示控制框,时将显示控制框, 值为值为false时不显示控制框。时不显示控制框。
(14)Modal 模式显示窗体
该属性用来设置窗体是否为有模式显示窗体。 如果有模式地显示该窗体,该属性值为如果有模式地显示该窗体,该属性值为true;; 否则为否则为 false。。 当有模式地显示窗体时,只能对模式窗体上的对象进行输入。 必须隐藏或关闭模式窗体(通常是响应某个用户操作),然后才能对另一窗体进行输入。 有模式显示的窗体通常用做应用程序中的对话框。
(15)ActiveControl活动控件
用来获取或设置容器 控件中的活动控件。 窗体也是一种容器控件。
(16)ActiveMdiChild活动子窗口
用来获取多文档界面(用来获取多文档界面(MDI)的当前活动子窗口。)的当前活动子窗口。
(23)IsMdiChild为文档界面子窗体
获取一个值,该值指示该窗体是否为多文档界面(MDI)子窗体。 值为值为 true时,是子窗体,时,是子窗体, 值为值为false时,不是子窗体。时,不是子窗体。
(24)IsMdiContainer
获取或设置一个值,该值指示窗体是否为多文档界面(MDI)中的子窗体的容器。 值为值为true时,是子窗体的容器,时,是子窗体的容器, 值为值为false时,不是子窗体的容器。时,不是子窗体的容器。
(26)MdiChildren多文档界面子窗体
数组属性。数组中的每个元素表示以此窗体作为父级的 多文档界面(多文档界面(MDI)子窗体。)子窗体。
(27)MdiParent多文档揭秘那父窗体
用来获取或设置此窗体的当前多文档界面(用来获取或设置此窗体的当前多文档界面(MDI)父窗体。)父窗体。
(28)ShowInTaskbar任务栏中显示窗体
用来获取或设置一个值,该值指示是否在用来获取或设置一个值,该值指示是否在Windows任务栏中显示窗体。任务栏中显示窗体。
常用方法
(1)Show窗体显示
:该方法的作用是让窗体显示出来, 其调用格式为:窗体名其调用格式为:窗体名.Show(); (其中窗体名是要显示的窗体名称)
(2)Hide窗口隐藏
:该方法的作用是把窗体隐藏出来,其调用格式为:窗体名:该方法的作用是把窗体隐藏出来,其调用格式为:窗体名.Hide();其中窗体名是要隐藏的窗体名称。其中窗体名是要隐藏的窗体名称。
(3)Refresh窗口刷新
:该方法的作用是刷新并重画窗体,其调用格式为:窗体名:该方法的作用是刷新并重画窗体,其调用格式为:窗体名.Refresh(); 其中窗体名是要刷新的窗体名称。
(4)Activate激活窗体焦点
:该方法的作用是激活窗体并给予它焦点。其调用格式为:窗体名:该方法的作用是激活窗体并给予它焦点。其调用格式为:窗体名.Activate(); 其中窗体名是要激活的窗体名称。其中窗体名是要激活的窗体名称。
(5)Close关闭窗体
:该方法的作用是关闭窗体。其调用格式为:窗体名:该方法的作用是关闭窗体。其调用格式为:窗体名.Close(); 其中窗体名是要关闭的窗体名称。
(6)ShowDialog显示为模式对话框
:该方法的作用是将窗体显示为模式对话框。其调用格式为:窗体名:该方法的作用是将窗体显示为模式对话框。其调用格式为:窗体名.ShowDialog();
常用事件
(1)Load加载到内存事件
该事件在窗体加载到内存时发生,即在第一次显示窗体前发生。
(2)Activated窗体激活事件
该事件在窗体激活时发生。
(3)Deactivate失去焦点事件
该事件在窗体失去焦点成为不活动窗体时发生。
(4)Resize改变窗体大小事件
该事件在改变窗体大小时发生。
(5)Paint重绘窗体事件
该事件在重绘窗体时发生。
(6)Click点击窗体事件
该事件在用户单击窗体时发生。
(7)DoubleClick双击事件
该事件在用户双击窗体时发生。
(8)Closed事件
该事件在关闭窗体时发生。
事件委托
引用控件封装类
Form1.res
Program.cs应用程序入口
 一切程序都有入口主函数main,C#也是如此,在Program.cs文件中定义了Program类, 该类中拥有主函数main( ), 在main函数中, 第三行代码是一切的开始,调用Form1类的构造函数,创建一个Form对象,一切由此开始
winform的使用
窗体的设计流程
1、构思功能
串口助手在单片机开发中经常被用来调试,最基本的功能就是接收功能和发送功能,其次,串口在打开前需要进行一些设置:串口列表选择、波特率、数据位、校验位、停止位,这样就有了一个基本的雏形;然后我们在下一篇中在此功能上添加:ASCII/HEX显示,发送,发送新行功能,重复自动发送功能,显示接收数据时间这几项扩展功能; ———————————————— 版权声明:本文为CSDN博主「Mculover666」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/Mculover666/article/details/80650067
2、设计布局

1)容器控件(Panel)
2)文本标签控件(Lable)
用于显示一些文本,但是不可被编辑;改变其显示内容有两种方法:一是直接在属性面板修改“Text”的值,二是通过代码修改其属性,见如下代码;另外,可以修改Font属性修改其显示字体及大小,这里我们选择微软雅黑,12号字体; label1.Text = "串口"; //设置label的Text属性值
3)下拉组合框控件(ComboBox

4)按钮控件(Button)
5)文本框控件(TextBox)
6)串口组件(SerialPort)
一个是端口号(PortName), 一个是波特率(BaudRate), 当然还有数据位,停止位,奇偶校验位等; 串口打开与关闭都有接口可以直接调用, 串口同时还有一个IsOpen属性, IsOpen为true表示串口已经打开, IsOpen为flase则表示串口已经关闭。 添加了串口组件后,我们就可以通过它来获取电脑当前端口,并添加到可选列表中,代码如下:
3、搭建后台
C#的winform中怎么根据函数找到对应的控件
1.复制函数名button13_Click_1 2.在解决方案资源管理器中展开Form1.cs(该控件所在窗体) 找到Form1.Designer.cs并打开 展开 #region Windows 窗体设计器生成的代码 按Ctrl+F进行查找,会找到下面这样的代码 this.button20.Click += new System.EventHandler(this.button13_Click_1); 前面的控件button20即为控件名
编写窗体csharp程序
1.新建界面,选中windows窗体应用程序

2.出现一个空白的窗体,点击如下图红框所示的工具箱

3.选择我们想要放置的控件,直接拖动到窗体即可

4.直接双击窗体上的控件,我们就可以在如下的页面输入代码

5.点击如下图红框处的启动按钮,程序就会执行。

类库的使用
使用类库的话不会用using来调用dll, 而是用using去引用命名空间. 一个dll文件中可能涉及到多个命名空间, 比如System这个dll中有System.IO, System.Net等多个命名空间. 而反过来,一个命名空间可以存在于多个dll中, 比如mscorlib和System这两个dll中都有System和System.IO这些命名空间 .反正我们引用的时候只要关注命名空间就行了.命名空间.
1.大概知道
但大概知道有哪些类,以后想用的时候就可以很容易找到. 所谓类库就是很多事微软的人给你做好了,给只要简单的调用下就行了. 这里主要讲下.NET 2.0,3.0与3.5中的类库.