版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
01C#语言开发环境
C#程序设计基础感谢“教宝网”()为本课件制作提供资助。尊敬的读者:“教宝网”()为教育门户网站,将在2017年6月正式上线,届时谢谢光顾并提出宝贵意见!“教宝网”()全体同仁敬上01
C#语言开发环境C#概述安装VisualStudioVisualStudio环境VisualC#项目C#程序设计过程VisualStudio的帮助1.1C#概述1.1.1C#的特点C#是一种面向对象的编程语言,主要用于开发可以在.NET平台上运行的应用程序。C#是从C和C++派生出来的一种简单、现代、面向对象和类型安全的编程语言,其语言体系都构建在.NET框架上,并且能够与.NET框架完美结合。C#具有以下突出的特点。(1)语法简洁(2)面向对象(3)类型安全(4)与Web的紧密结合(5)版本处理(6)兼容性和灵活性1.1C#概述1.1.2C#与.NET的关系.NETFramework是微软近年来主推的应用程序开发框架,该框架提供跨平台和跨语言的特性,C#是其主要的开发语言。.NETFramework的一个重要的控件就是公共语言运行时,它是.NETFramework的基础。.NETFramework的另一个主要控件就是框架类库,它支持多种应用程序的开发,这些应用程序包括控制台应用程序、Windows应用程序、ASP.NET应用程序、Windows服务、XMLWeb服务、Web窗体。C#是专门为.NETFramework一起使用而设计的。C#就其本身而言只是一种语言,尽管它是用于生成面向.NET环境的代码,但它本身不是.NET的一部分。在安装VisualStudio的同时,.NETFramework也被安装到本地计算机中。在.NET中,C#的使用比例远远大于其他编程语言。1.2安装VisualStudio安装步骤(1)将VisualStudio安装盘放到光驱中,光盘自动运行后会进入安装程序界面;如果光盘不能自动运行,可以双击setup.exe可执行文件。(2)单击第一个安装选项“安装VisualStudio2010”(3)在安装向导画面,单击“下一步”按钮,弹出“起始页”界面。界面左侧显示的是关于VisualStudio2010安装程序的所需控件信息,右侧显示用户许可协议。(4)选中“我接受许可协议中的条款”复选框,单击“下一步”按钮,弹出“选项页”界面,用户可以从中选择要安装的功能和产品安装路径,一般使用默认设置即可(产品默认路径为“C:\ProgramFiles\MicrosoftVisualStudio10\”)。1.2安装VisualStudio安装步骤说明:在“选择要安装的功能”栏中,用户可以选择“默认值”、“完全”和“自定义”3种安装方式。如果选择“默认值”,安装程序将安装系统必备的功能;如果选择“完全”,安装程序将安装系统的所有功能;如果选择“自定义”,用户可以选择希望安装的项目,增加了安装程序的灵活性。通常,推荐用户选择“默认值”。(5)选择好产品安装路径之后,单击“安装”按钮,进入“安装页”界面,显示正在安装控件。(6)安装完毕后,单击“下一步”按钮,弹出“完成页”界面,单击"完成"按钮,至此完成VisualStudio2010程序开发环境的安装。1.3VisualStudio环境1.3.1VisualStudio主窗口1.3VisualStudio环境1.3.2编辑器与Windows窗体设计器窗口1.编辑器窗口代码编辑器是编写源代码的字处理程序。C#代码编辑器也为C#语法和.NETFramework提供广泛支持。这些支持可以分为五个主要的类别:(1).IntelliSense:将.NETFramework类和方法键入编辑器时,不断对其基本文档进行更新,同时还具有自动代码生成功能。(2).重构:随着基本代码在开发项目过程中的演变,智能重构基本代码。(3).代码段:可以浏览的库,其中包含了频繁重复的代码模式。(4).波浪下划线:当键入内容时,对拼写错误的单词、错误的语法以及警告情况的可见通知。(5).可读性帮助:大纲显示和着色。1.3VisualStudio环境1.3.2编辑器与Windows窗体设计器窗口2.Windows窗体设计器窗口Windows窗体设计器窗口用于为窗体添加控件,对它们进行排列,并为其事件编写代码。可以使用设计器来完成以下操作:
(1).向某个窗体添加控件、数据控件或基于Windows的控件。
(2).双击设计器中的窗体并为该窗体编写Load事件中的代码,或双击窗体上的控件并为该控件的默认事件编写代码。(3).通过选择某个控件并键入一个名称来编辑该控件的Text属性。(4).通过使用鼠标或箭头键移动选定的控件来调整该控件的位置。同样,使用Ctrl键和箭头键可更精确地调整控件的位置。最后,通过使用Shift键和箭头键调整控件的大小。(5).按住Shift键并单击或按住Ctrl键并单击可选择多个控件。1.3VisualStudio环境1.3.3解决方案资源管理器和项目设计器1.解决方案资源管理器右上方的窗口是“解决方案资源管理器”,该窗口以分层树视图的方式显示项目中的所有文件。如果使用“项目”菜单将新文件添加到项目,将看到这些文件反映在“解决方案资源管理器”中。除文件外,“解决方案资源管理器”还显示项目设置,以及对应用程序所需的外部库的引用。2.项目设计器可以通过右击“解决方案资源管理器”中的“属性”节点,然后单击“打开”访问“项目设计器”属性页。使用这些页可以修改生成选项、安全要求、部署详细信息以及许多其他项目属性。1.3VisualStudio环境1.3.4编译器、调试器和错误列表窗口1.编译器2.调试器3.错误列表窗口1.3.5工具箱窗口“工具箱”是一个浮动的树控件。“工具箱”显示可以添加到项目中的项的图标。注意:当编辑控制台应用程序时,不会显示“工具箱”中的项,因为通常它们的设计不具有图形用户界面。可以通过在选项卡中重排项或通过添加自定义的选项卡和项来自定义“工具箱”。
当选择其他设置组合时,将会清除当前的“工具箱”状态。选择其他设置组合会更改现在可用的“工具箱”选项卡,以及在选项卡中显示的项。1.3VisualStudio环境1.3.6属性窗口
使用属性窗口可查看和更改位于编辑器和设计器中的选定对象的设计时属性及事件。也可以使用“属性”窗口编辑和查看文件、项目和解决方案的属性。“属性”窗口可从“视图”菜单打开。“属性”窗口显示编辑字段的不同类型,具体取决于特定属性的需要。这些编辑字段包括编辑框、下拉列表以及到自定义编辑器对话框的链接。属性以灰色显示且是只读的。
1.4VisualC#项目1.4.1创建新项目可以通过单击“文件”菜单,指向“新建”,然后单击“项目”来创建新项目。可以看到默认情况下选择了左侧窗口中的“VisualC#”,而在右侧,可以从六种或更多项目模板中进行选择。选择项目模板并单击“确定”后,VisualStudio将创建项目,您就可以开始编写代码了。项目文件、引用、设置以及资源均显示在右边的“解决方案资源管理器”窗口中。1.4VisualC#项目1.4.2项目中的内容1.属性:“属性”节点表示应用于整个项目的配置设置,这些设置存储在解决方案文件夹的.csproj文件中。这些设置包括编译选项、安全性和部署设置,以及其他更多设置。2.引用:在项目的上下文中,引用仅标识应用程序运行所需的二进制文件。3.资源:资源是应用程序中包含的数据,但是以可独立于其他源代码进行修改的方法存储。4.窗体:创建Windows窗体项目时,默认情况下,VisualC#会将一个窗体添加到项目中,并为其命名为Form1。表示该窗体的两个文件称为Form1.cs和Form1.designer.cs。5.其他源代码文件:项目可以包含任意数量的其他.cs文件,这些文件可能与也可能不与特定的Windows窗体相关联。1.4VisualC#项目1.4.3修改项目属性
创建项目之后,可以使用“项目设计器”执行各种任务,例如更改可执行文件的名称、自定义生成过程、添加对DLL的引用或加强安全设置。单击“项目”菜单中的“属性”,或在“解决方案资源管理器”中右击“属性”项,可以访问“项目设计器”。“项目设计器”将显示在编辑器/设计器窗口。1.4.4生成和调试在VisualC#中,可以在“生成”菜单中单击“生成”,生成可执行应用程序。按F5或在“调试”菜单中单击“运行”,可以通过一步操作生成并启动应用程序。
生成过程包括将项目文件输入到C#编译器,将源代码转化为Microsoft中间语言(MSIL),然后将MSIL和元数据、资源、清单以及其他模块(如果有的话)进行联接,从而创建一个程序集。程序集是一个可执行文件,扩展名通常为.exe或.dll。开发应用程序时,有时会希望生成调试版本,以进行测试并查看程序的运行状况。最后,在一切无误的情况下,将创建一个发布版本部署给客户。1.5C#程序设计过程1.5.1新建项目1.运行VisualStudio单击“开始”按钮→“所有程序”→MicrosoftVisualStudio2010→MicrosoftVisualStudio2010。VisualStudio将启动并显示“起始页”。2.新建项目单击“文件”菜单→“新建”菜单项→“项目”子菜单项,弹出“新建项目”对话框如图1-11所示,在左边“项目类型”列表中选择“VisualC#”下的“Windows”,在“模板”列表中选择“Windows应用程序”。在“名称”后的文本框中输入项目名,在“位置”中输入项目及程序文件所存放的路径,在“解决方案名称”后的文本框中输入解决方案名。单击“确定”按钮,进入VisualC#项目开发环境。3.设置环境环境设置根据每个人的习惯而定,不是必须的,这里简单描述环境的定制,具体使用时根据需要选择其中方法。1.5C#程序设计过程1.5.2定义用户界面1.设置窗体在窗体设计器中的新窗体具有所有标准的Windows特征,如包括标题栏、最大化和最小化按钮以及关闭按钮。直接在窗体设计器中调整窗体的大小,在“属性”窗口中设置窗体的标题栏、颜色等窗体属性。2.在窗体上放置控件从工具栏中使用鼠标选择控件,拖曳至窗体中,如果是可视控件,则在窗体中调整控件的位置(直接拖曳控件)、大小(拖曳控件四周的点)等,如果是非可视组件,则系统会把该组件放入窗体底下的列表中。根据需要,可使用参照线来帮助控件的大小调整和对齐,使控件排放整齐美观。1.5C#程序设计过程1.5.3设置属性根据程序需求在对象编辑器中设置控件的属性,包括控件的大小、颜色、位置、标题文字、特征等。这些属性也可以通过程序动态地设置和修改。单击放置在窗体中的控件,单击“属性”窗口的标题栏,使之成为活动窗口。如果“属性”窗口不可见,则可以选择“视图”菜单中“属性窗口”菜单项或者按F4键,使其显示出来。属性是某些描述性的数值,如名称、位置、字体、颜色等,这些数值的设定决定了窗体或控件显示的外观。从窗体上选择控件,或从“属性”窗口的下拉列表中选择窗体或控件,使之成为当前控件,就可以用“属性”窗口的来设置属性了。1.5C#程序设计过程1.5.4添加事件事件(Event)是一种消息处理机制,利用它可以捕捉到某种情况的发生,并对此作出相应的反应。例如,单击鼠标、拖动鼠标、双击鼠标或按下键盘等都是典型的事件。从窗体上选择一个控件,或从对象选择器中选择一个窗体或控件,使之成为当前控件,就可以用“属性”窗口的事件选项卡来添加事件了。添加事件的过程一般是选定控件后,单击“属性”窗口的事件选项卡中要添加的事件名称,再在其右侧输入事件的响应函数名称,然后回车即可。1.5C#程序设计过程1.5.5运行项目在完成代码的编写之后,即可运行该项目。选择下列3种方法之一,开始项目运行。①打开“调试”菜单,选择“开始调试”菜单项。②单击工具栏中的“开始调试”按钮。③按F5键,即对应“开始调试”命令的快捷键。如果C#语法中存在错误,或存在无法解析为已知类型或成员的标识符,生成将失败,并在“错误列表”窗口中出现一个错误列表,默认情况下该窗口直接出现在代码编辑器下方。可以双击错误信息,转到发生错误的代码行,调试修改后重新运行。1.5C#程序设计过程1.5.6保存文件应当经常做好保存工作。1.保存文件打开VisualStudio的“文件”菜单,选择“全部保存”菜单项,则系统会保存当前的项目、窗体和解决方案文件。2.关闭项目打开“文件”菜单,选择“关闭解决方案”,如果自上次修改以来尚未保存,则系统将提示是否保存,根据需要选择保存或不保存。1.5C#程序设计过程1.5.7打开项目如果要对一个已有的项目进行修改,需要重新打开项目,可以通过3种方法来打开已保存的项目。①从VisualStudio的“文件”菜单中选择“打开”菜单项下的“项目/解决方案”子菜单项,弹出“打开项目”对话框,从中选择相应文件夹,找到项目主文件.sln文件。②从“文件”菜单中选择“最近的项目”菜单项下项目文件。③从“起始页”上“最近的项目”中选择项目。1.6VisualStudio的帮助1.6.1联机与本地帮助在“选项”菜单下的“帮助选项”属性页上,可以指定搜索行为(包括F1搜索)的下列选项:(1)首先尝试搜索联机MSDNlibrary,如果未找到匹配项,再尝试搜索本地文档。(2)首先尝试搜索本地MSDNlibrary,如果未找到匹配项,再尝试搜索联机文档。(3)只尝试搜索本地MSDNlibrary。1.6.2F1搜索F1提供区分上下文的搜索功能。在代码编辑器中,将插入点光标定位于关键字或类成员上或紧随其后,并按F1,可以访问C#关键字和.NETFramework类的“帮助”文档。当对话框或任何其他窗口具有焦点时,可以按F1获取该窗口的“帮助”。
1.6VisualStudio的帮助1.6.3搜索使用搜索界面,返回与任何指定的术语或术语集相匹配的所有文档。也可以使用“选项”菜单上的“帮助选项”页面,指定除了搜索MSDNlibrary以外,是否还要搜索Codezone网站。相同的联机与本地搜索选项可应用于搜索和F1搜索。在“搜索”界面中,指定要包括的文档类型,可以缩小或扩大搜索范围。此处有三个选项:语言、技术和主题类型。通常情况下,只选中适用于当前开发方案的那些选项,将获得最佳效果。1.6.4索引索引可以快速找到本地MSDNlibrary中的文档。它不是全文搜索;而是只搜索分配给每个文档的索引关键字。索引查找通常比全文搜索更快而且相关性更强。1.6VisualStudio的帮助1.6.5目录MSDNlibrary目录以分层树视图结构显示库中的所有主题。可以浏览文档、了解库中所包含的内容,还可以浏览无法通过索引或搜索找到的文档。通过F1、索引或搜索查找文档时,知道文档在目录中的位置十分有用,这样就可以查看存在哪些与给定主题相关联的其他文档。单击文档资源管理器工具栏中的“与目录同步”按钮,可查看当前显示的页面在MSDNlibrary中的位置。1.6.6如何实现“如何实现”是MSDNlibrary的筛选视图,其中主要包括称为“如何”或“演练”的文档,这些文档说明如何执行特定任务。可以从“文档资源管理器”工具栏、“帮助”菜单或“开始”页访问“如何实现帮助”。1.6.7动态帮助“动态帮助”窗口根据代码编辑器中插入点的当前位置,显示到.NETFramework和C#语言的参考文档的链接。ThankYou!02C#语言基础
C#程序设计基础感谢“教宝网”()为本课件制作提供资助。尊敬的读者:“教宝网”()为教育门户网站,将在2017年6月正式上线,届时谢谢光顾并提出宝贵意见!“教宝网”()全体同仁敬上02
C#语言基础C#应用程序结构
数据类型
常量和变量的定义
运算符和表达式
语句2.1C#程序基本结构2.1.1C#应用程序的组成第一行程序通知C#编译器(Complier)找寻定义在System名称空间中的某些类和方法,以便在本程序中可以直接调用。每一个C#应用程序都是由很多个类、结构以及数据类型所组成的集合,并使用class保留字来声明这个类。C#中,所有的程序都必须包装在一个类当中,类中包含程序将用来执行的数据与方法的定义。类的开始与结束则使用花括号{}来代表。接下来看看下—行程序,声明一个方法:staticvoidMain(string[]args),由于C#语言将大小写视为不同,因此要注意Main方法的M—定是大写,其余为小写。开始学习C#时,你只要记得Main方法一定要声明static,除非有其他需要,否则不要去变动它。在C#中每一个方法(Method)都要有一个返回值,而Main方法的返回值只能够声明为void或int,void代表Main方法没有任何的返回值,如本例。使用int,代表这个程序将返回一个整数类型的数值。2.1C#程序基本结构2.1.1C#应用程序的组成每个程序都要有一个Main方法,它是C#程序的进入点。也就是说,一个C#程序可以有很多个类,不过程序一开始会先从Main开始执行。记住Main后面的小括号()是必要、不能省略的。若Main方法(Method)有参数时,便可以将参数清单列示在括号之间。在.NETFramework的System名称空间中,包含许多系统提供的基础类,以供程序设计师使用。凡是在程序中要调用System中提供的基础类的,就必须在程序前部声明引用,如:usingSystem;2.1C#程序基本结构2.1.2保留字和标准指令符C#语言中规定了一批英文单词,赋予了它们特定的含义,在进行程序设计时不能被重新定义或进行他用,这些单词称为保留字(ReservedWords)。C#语言中规定的保留字有77个。2.1.3标识符标识符(Identifiers)是用来自行标识(定义、表示)程序、函数、类型、符号常量、变量、对象等的名字的符号。C#语言中规定,标识符由字母A~Z、a~z、下划线和数字0~9组成,中文汉字也可作为标识符的组成部分,但视操作系统环境而慎用。C#标识符区分大小写。在使用标识符的时候,必须首先声明,否则在编译时,系统会显示错误信息,提示该标识符没有定义。2.1C#程序基本结构2.1.4注释为了使程序易读,通常要为程序添加注释,即对程序模块、语句或命令作文字解释。运行时,这些文字不会作为命令的一部分而被执行,因而不会影响原来的程序。。C#语言中的注释有下面2种形式。(1)组合符号“/*”与“*/”的成对使用表示它们之间的内容为注释,为多行注释符;(2)符号“//”的单个使用表示所在行的该符号之后的内容为注释,为单行注释符。有时,在调试的过程中,也可以用注释的方法对部分命令作暂时的“删除”,以缩小调试范围,待调试结束后再去掉注释符。2.1C#程序基本结构2.1.5控制台程序中的标准输入和输出C#可以编写三类型的应用程序,一是标推的windows应用程序,扩展名为EXE,执行在窗口环境,具有图型界面的执行文件;—是程序库应用程序,扩展名为DLL,主要用来共享程序代码;第三种就是conso1e应用程序,扩展名为EXE,执行在命令模式。1.输入语句格式Console.Read();或Console.ReadLine();2.输出语句格式Console.Write(["输出格式",]输出表达式列表);Console.WriteLine(["输出格式",]输出表达式列表);2.2数据类型2.2.1值类型值类型,又称作实值类型,这种类型的变量总是包含该类型的值,它对应着系统内的某个内存空间。2.2数据类型
整数类型整数类型(integer)变量可存储整数值。常用整型数定义符:short、int、long
浮点类型浮点类型用来表示数学中的实数。常用浮点型数定义符:float、double、decimal
布尔类型布尔类型(Boolean)数据用于逻辑运算,表示真或假的情况。常用布尔型数定义符:bool2.2数据类型
字符类型字符类型(Character)用来表示单个字符。常用字符型数定义符:char部分特殊的控制字符,用“\”引导,称为转义字符,用于表示一些无法直接表示的字符。
结构类型结构类型可以由不同类型的元素组成,这些元素称为成员或域。结构类型的定义方式如下:[附加声明信息][访问修饰符]struct结构名[:包含结构所实现接口的列表]{结构体};2.2数据类型
枚举类型枚举类型(enumerated)用于声明一组命名的常数。枚举类型的声明格式如下:enum枚举变量名{成员1[=值1],成员2[=值2],……成员n[=值n]}2.2数据类型2.2.2引用类型和值类型相比,引用类型不存储它们所代表的实际数据,它们存储实际数据引用。2.2数据类型
类类型类类型定义了一个包括数据成员(常数、域和事件)、函数成员(方法、属性、索引、操作符、构造函数和析构函数)和嵌套类型。
对象类型面向对象的语言大都提供一个根类型(又称祖先类),层次结构中的其他对象都从它派生而来。
字符串类型C#提供了自己的字符串类型,这样对字符串的操作,如复制、拼接等就变得非常简单。常量字符串的的值必须用双引号括起来。常用字符串型数定义符:string2.2数据类型
接口类型一个接口定义了一个协定。一个实现了接口的类或结构必须遵守它的协定。
数组类型所谓数组就是有序的、同一类型数据的集合。数组的声明和分配内存空间可以合在一起,其格式为:数组元素类型[]数组名=new数组类型[数组元素的个数];
委托类型委托是一种指向一个静态方法或一个对象的对象实例和对象方法的数据结构。2.2数据类型2.2.3类型转换
隐式转换隐式类型转换就是系统默认的不需要加以声明就可以进行的转换,在隐式转换过程中编译器无需对转换进行详细检查,就能够安全地执行转换。
显式转换显式类型转换就是通过一定的语法,明确要求编译器把变量从一种数据类型转换为另一种数据类型。显式类型转换的语法为:(目标类型)待转换变量例:(int)num2.3常量和变量的定义2.3.1常量常量是打算在程序中多次引用的固定量的名字。常量的定义形式如下:[常量属性][常量修饰符]const类型常量名;例如:publicconstdoublePi=3.1415926535;privateconstfloatPrice=56.2;2.3.2变量变量是一个特定数据实体,它有预定义的数据类型,并且可在内存中某个唯一的地址存放指定类型的值。变量的定义形式如下:
类型名变量名表[=初值];例如:intValue=23;floatx,y,z;2.4运算符和表达式2.4.1运算符1.算术运算符算术运算符对浮点数和整数进行加、减、乘、除和取模运算。主要算术运算符:+、-、*、/、%2.关系运算符关系运算符可以对两个普通数据类型、类、对象、接口类型或字符串类型的数据进行比较,结果数据类型为布尔类型。主要关系运算符:==、!=、<、>、<=、>=3.关系逻辑运算符关系逻辑运算符对逻辑类型操作数进行运算,运算结果也为逻辑类型。主要关系逻辑运算符:!、&&、||2.4运算符和表达式4.位运算符位运算符对整型的数据按二进制位进行操作,所得结果也为整型数据。主要位运算符:`、&、^、|、<<、>>5.其他运算符①条件运算符条件运算符的格式为:<条件逻辑表达式>?表达式1:表达式2;如果<条件逻辑表达式>为真返回<表达式1>,否则返回<表达式2>。②new运算符new运算符用于在堆栈上创建对象并调用构造函数。6.运算符优先级不同类型的运算符是按一定的次序执行的,该次序称为运算符优先级。2.4运算符和表达式2.4.2表达式表达式是由运算符、运算对象和分隔符组成的序列,它指明了一个运算。表达式中的运算对象可以是另一个表达式。最简单的表达式是变量和常量,更复杂的表达式则通过将简单的表达式通过运算符、函数调用、强制类型转换结合在一起构成。2.5语句2.5.1赋值语句赋值语句的形式如下:
变量=表达式;2.5.2复合语句首尾使用{和}括起来一组语句称为复合语句。复合语句的目的在于使用条件语句或循环语句等情况时,分支体或循环体超过一条语句,那么可以使用复合语句将其一组语句构成一条复合语句。2.5语句2.5.3条件语句条件语句通过条件检测,判断是否执行该条件语句中包含的语句。1.if语句if(表达式)
语句;//当表达式为真时,执行语句或if(表达式)
语句1;//当表达式为真时,执行语句1else
语句2;//当表达式为假时,执行语句22.5语句2.switch语句如果if语句变得非常复杂,则可以用switch语句。switch语句包括用来选值的表达式、可能值序列。这些值应该是常量,并且它们必须唯一,而且应属于有序类型。switch语句对一个结果的多个分支进行判断。其具体语法形式如下:switch(选择器表达式){case常量1:[代码段1;break;]case常量2:[代码段2;break;]case常量3:[代码段3;break;][default:默认代码段;break;]//方括号内内容可省略}2.5语句2.5.4循环语句循环就是重复执行一些语句,直到满足一定条件为止。1.while语句while语句也可以实现循环操作的功能。其具体形式如下:while(循环条件表达式)
循环体语句;2.do语句do语句可以实现循环操作的功能。其具体形式如下:do{语句1;…语句n;}while(循环条件表达式);2.5语句3.for语句for循环是首先指定循环条件的循环,循环控制变量可以随着每次循环而变化。其具体形式如下:for(<循环控制变量的初始化);<循环控制条件>;<循环控制变量运算>)
循环体语句;4.foreach语句foeeach语句表示针对一个集合中的每个元素执行其循环语句。其具体形式如下:foreach(类型循环变量名in变量取值集合)
循环语句;2.5语句2.5.5跳转语句1.break(强制跳转)语句break语句用于跳转出最近的switch语句、while语句、do语句、for语句或者foreach语句,它跳转的目标是上述语句的结束点。2.Continue(强制缩短)语句Continue语句用于从while语句、do语句、for语句或foreach语句中强行结束本次循环,开始下一次循环。3.goto语句C#中允许goto语句的存在。goto语句可以用于任何语句间的跳转。4.return语句return语句是用来使程序从函数中返回。它使程序返回到调用函数的地方继续执行。Return带回的值就是函数的返回值。如果函数指定要有函数值,则必须返回一个该类型的值。return的一般形式为:return返回值表达式;2.6异常处理语句2.6.1try-catch语句try-catch语句由一个try语句块后跟一个或多个catch子语句块构成。try语句块中包含可能产生异常的代码,catch中指定对不同异常的处理。try{doublez=sqrt(x/y);Console.WriteLine("除法开方运算成功,结果为{0}",z);}catch(DivideByZeroExceptionex){thrownewException("除法运算发生了一个错误!"+Environment.NewLine+ex.Message);}catch(Exceptionex){thrownewException("运算发生了一个错误!");}
2.6异常处理语句2.6.2try-finally语句在try-finally语句中,不论是否捕捉到异常,finally块中的代码一定会执行。try语句块包含可能产生异常的代码,finally中指定最终都要执行的子语句。finally子句与catch子句相比,catch子句用于处理try语句块中出现的异常,如果try语句块中没有产生异常,则catch子句块中的代码将不被执行;而finally子句则用于保证该语句块中的代码必须被执行,无论try语句块中是否产生异常。2.6异常处理语句2.6.3try-catch-finally语句try-catch-finally语句是在异常处理中比较完整的使用方法,它表示如果在try语句块中发生了异常,由catch处理异常,异常处理完后,再在finally语句块中释放try语句块所占的资源。如:在上述程序的try语句块后,在finally语句前加入如下catch语句块。2.6.4throw语句throw语句不仅可以重新引发已捕获的异常,还可以引发一个预定义的或自定义的异常,这些新引发的异常均可被外围嵌套的try语句接收,由throw引发异常的方式称作显式引发异常。ThankYou!03面向对象程序设计
C#程序设计基础感谢“教宝网”()为本课件制作提供资助。尊敬的读者:“教宝网”()为教育门户网站,将在2017年6月正式上线,届时谢谢光顾并提出宝贵意见!“教宝网”()全体同仁敬上03面向对象程序设计
面向对象程序设计概念类方法继承和多态域和属性名字空间3.1面向对象程序设计概念3.1.1结构化程序设计方法传统C语言支持结构化的程序设计方法,这种程序设计的方法着重于分析应用程序所要实现的功能,根据要解决的问题和程序的功能设计数据结构。分析实际问题时,根据数据流的变化和输入输出划分模块,根据程序功能编写过程。3.1.2面向对象的程序设计方法面向对象的程序设计方法强调将行为个体对象化,将对象的数据和操作封装在一起,对于一个对象而言,内部数据的更改完全由自己调用操作完成,数据变为对象之后,它就有活动能力,可以主动地表现自己,修改自己,与其他对象联系。面向对象的三大特点:封装性、继承性和多态性。封装是指通过定义类并且给类的属性和方法加上访问控制来抽象事物的本质特性。继承是指一个对象能够从它的祖先那里获取已有的成员和行为。所谓多态,即一个名字可具有多种语义。3.1面向对象程序设计概念3.1.3面向对象程序设计的基本概念1.类类描述了具有相似性质的一组对象。这组对象具有相同的数据结构和操作。在C#中,类是一种数据结构,定义了该组对象的共同属性和操作。2.对象数据和代码封装的统一体。对象与实例的概念等同,实例从类的角度定义对象,表示一个建立在特定类的基础上的对象。3.属性属性是对对象数据概念的扩展。类的属性是用来赋值和引用的,类可以提供保护方法,使访问对应的对象数据时能够支持自动转换。4.方法类所提供的操作,可以是函数。对象可以使用方法以实现对象的操作。3.2类3.2.1类的定义创建一个用户定义的类可以使用class关键字定义类。类的主题放在花括号中。在C#中类被当做一个数据类型来定义,它的语法是:<类修饰符>class<类名>{数据成员;
函数;
嵌套的类型;}3.2.2保护方式类的定义可以使用abstract、internal、new、private、protected、public或sealed关键字进行修改。3.2类3.2.3类实例化实例化类的对象在定义了一个类后,在代码中使用它最容易理解的方式是把这个类看成是一种新类型名。创建用户定义的变量称为实例化,因为我们创建了该类对象的一个实例。在C#中必须通过new方法来创建一个对象的实例。具体格式如下:<类名>对象变量名=new类名();3.2.4类的成员成员常量、域、成员方法、属性、事件、索引指示器、操作符、构造函数和析构函数。类的常量可以用以下修饰符。①new;②public;③private;④internal;⑤protected。3.3方法3.3.1方法声明方法的声明语句由方法的定义头和方法定义体两部分组成,其中方法定义头主要包括方法的属性、方法修饰符、返回类型、名称、参数等,方法定义体包括完成方法所需操作的语句。声明方法的一般格式为:[属性][方法修饰符][返回类型]<方法名>([参数列表]){方法定义体;}3.3.2方法参数方法中的参数一般可以是以下四种类型:①值参数:可以通过值参数传递给方法—个值。②引用参数:引用参数以ref修饰符声明,通过引用参数可以传递给方法一个变量的引用。③输出参数:输出参数以out修饰符声明,通过输出参数可以获得在方法执行完成后返回给主调函数的数据。④数组型参数:数组型参数以params修饰符声明,用以实现动态参数列表。3.3方法3.3.3静态方法C#中声明类的方法可以有两种:静态方法和实例方法。声明时指定了static修饰符的方法称为静态方法,否则为实例方法。顾名思义,静态方法不属于类的某一个实例,它只能访问类中的静态成员。3.3.4构造函数构造函数是一个特殊的方法,一般用来初始化类实例的数据成员。构造函数名和类名总是相同的,构造函数没有返回值。和任何类成员一样,构造函数也可以有public、private、internal和protected访问类型。最常用的构造函数访问修饰符是public和protected。实例构造函数的声明语句一般格式:[属性][构造函数修饰符]构造函数名称([参数列表])[:初始化类]{函数体;}3.3方法3.3.5析构函数析构函数主要用于释放分配给对象的存储空间,它实现了销毁类的—个实例时需要完成的操作。析构函数不能带有参数,但能拥有访问修饰符,它的名字与定义它的类的名字相同,但是要在名字前面加一个波浪号“~”。声明析构函数的一般格式为:[属性]~析构函数名称(){函数体;}3.3.6方法重载*方法的重载与构造函数的重载类似,如果类中有两个以上的方法,包括继承而来的方法,具有相同的名字,只要它们使用的参数类型或参数的个数不同,就叫做方法的重裁。当一个实例方法的声明中包含有override修饰符时,这个方法就重载了一个具有相同签名的虚方法。3.4继承和多态3.4.1继承1.继承格式子类继承自父类。在类的声明中,可以通过在父类名的前面加冒号来表示继承。声明的一般格式为:class<子类名>:<父类名>2.禁止继承有些时候,我们不希望自己编写的类被继承,或者,有些时候不需要将自己开发的类被派生。那么,在C#语言中,将不能够被继承的类或者不可以做父类的类,叫做封闭类。声明封闭类需要在关键字class前加sealed修饰符,被声明为sealed的类不能够作为父类。3.4继承和多态3.4.2覆盖在面向对象的程序设计中,有一种扬弃的方法。对于父类中适合子类的属性和方法,一定要保留;对于不适合的,则可以不用。但是有些方法并不是完全适合子类的,它在父类中完成对父类数据操作的任务,在子类中应该完成操作子类数据的任务。因此,需要对父类中的方法或属性进行改造,使之能够适用于子类。也就是在子类的成员声明中,可以声明与继承而来的成员同名的成员,这就称子类的成员覆盖(hide)了父类的成员。这种情况下编译器不会报错,但会抛出警告信息。3.4继承和多态3.4.3抽象类*常常会遇到这样的情况,在祖先类内定义了一个方法,指望它的子类能够继承,并且使用覆盖的方法具体化、实用化。但这个方法对于自身而言,没有必要编写任何的代码,有时也实在不知道该编写什么代码。这时,我们把这个方法称为抽象方法,拥有抽象方法的类称为抽象类。抽象类给后代类提供一个公共的方法,但对于其自身而言,没有任何意义。3.4.4多态*有时需要将父类的一些方法进行重定义,而又不改变父类方法的名称和参数列表,这就需要利用面向对象编程技术的多态特性。多态性是指在子类中可以对父类中某一个方法或者属性等成员进行重新的定义,这个特性又可以叫做虚成员重载。3.5域和属性3.5.1域在C#语言中,把在类中声明为公有或者静态(static)的变量叫做域(field)。1.域的声明声明域的过程就是声明变量的过程。只不过在声明域的时候必须在类的内部,而不可以在方法的内部。另外,声明域时需要使用public或者static修饰符,或者将两个修饰符结合在一起使用,其基本形式是:[public][static]数据类型变量名称[=数值];static修饰符表示在调用这个域时,必须使用类的名称,而不是像调用一般方法时使用对象的名称,也就是采用下面的形式:
类名称.静态域2.只读域声明只读域需要使用readonly修饰符。被声明为只读的域只允许在声明的过程中利用变量赋初值为域赋值,或者在构造函数中为只读域赋值,其余的地方,无论是类的方法或者对象都不可以修改域的数值。3.5域和属性3.5.2属性在大多数情况下程序需要知道一些对象的属性,比如字串的长度、字体的大小、窗口的标题等等,每个控件类中的有很多属性。声明一个属性的过程:
修饰符类型属性名{代码;}修饰符可以是public、private、static、protected、internal、virtual、override、abstract等修饰符。“{}”内的代码用来确定属性在程序中的表现形式。主要包括get部分和set部分。其中get部分用来从类的外部获取属性值,而set部分用来从类的外部修改属性情。3.6名字空间3.6.1编译单元编译单元就是能够被编译器进行编译的最小单位。编译单元定义了源文件的整体结构。一个编译单元是由零个或多个using指令组成的,而后者带有零个或多个名字空间成员声明。一个C#程序是由一个或多个编译单元组成的,每个编译单元包含在独立的源文件中。当编译一个C#程序时,编译器对程序的所有编译单元进行统一处理。这也说明编译单元可以互相依赖。一个编译单元的using指令只影响该编译单元的名字空间成员声明,不会对其他编译单元产生影响。3.6名字空间3.6.2名字空间声明名字空间声明的句法为:namespace名字空间名称名字空间定义体;在程序中,名字空间声明语句可以出现在以下两个位置上:①一个编译单元(即源文件)的第一行,此时,该名字空间成为全局名字中间的一个成员;②作为成员声明在另一个名字空间声明之中,此时,该名字空间成为外层名字空间的一个成员。引入名字空间时,应该在声明其他任何类型之前引用。3.6名字空间3.6.3名字空间成员名字空间的成员可以是一个类型(类、结构、接口、枚举或代理),也可以是另一个名字空间。一个编译单元或名字空间定义体可以包含多个成员声明,这些声明将给编译单元或名字空间定义体个添加新的成员。名字空间中的类型声明可以是类声明、结构声明、接口声明、枚举声明或代理声明。所以名字空间的类型声明句法就是相应类型的声明句法。3.6.4using指令C#的using指令为我们提供了使用其他名字空间中定义的名字空间和类型的方便途径。using指令有两种:①别名using指令,它定义一个空间或类型的别名。别名using指令的使用句法为:using标识符=名字空间或类型名;②名字空间using指令,它引入一个名字空间的类型成员。名字空间using指令的句法为:using<名字空间>;ThankYou!04窗体与控件
C#程序设计基础感谢“教宝网”()为本课件制作提供资助。尊敬的读者:“教宝网”()为教育门户网站,将在2017年6月正式上线,届时谢谢光顾并提出宝贵意见!“教宝网”()全体同仁敬上04窗体与控件C#窗体简介
窗体设计C#常用控件C#交互界面设计4.1C#窗体4.1.1窗体与窗口窗口是屏幕上被边框围住的一部分。窗口有标题,而且通常有一个控制菜单,用于移动、关闭、最大化、最小化窗口。在Windows中,绝大多数用户界面都是窗口。因此,在C#中,大多数控件也都是基于窗口的。窗口通常可分为两类:主窗口与对话框。在C#中,用窗体表示设计时的窗口,以保持设计过程的可视性。窗体可用于创建主窗口、MDI程序、对话框。窗体的行为主要依赖于窗口的处理代码,也依赖于窗体的位置和尺寸属性。C#的其他控件都以窗体为基础进行衍生和继承。4.1.2窗体属性每个窗体都有一个窗体文件(.Designer.cs)和一个单元文件(.cs)。窗体文件保存着窗体和窗体上各个控件的属性;单元文件则是用户编写窗体的事件处理过程的地方。当开始一个新项目或创建一个新窗体时,C#系统以默认的尺寸和标准来初始化窗体。用户可以在设计阶段或运行阶段设置窗体的属性。4.1C#窗体4.1.3窗体方法方法是一个控件的动态属性,标志着一个控件所具有的功能和操作,通过调用窗体的方法可以实现对窗体的控制。(1)Show方法,该方法的作用是让窗体显示出来,其调用格式为:
窗体名.Show();(2)Hide方法,该方法的作用是把窗体隐藏出来,其调用格式为:
窗体名.Hide();(3)Refresh方法,该方法的作用是刷新并重画窗体,其调用格式为:
窗体名.Refresh();(4)Activate方法,该方法的作用是激活窗体并给予它焦点。其调用格式为:
窗体名.Activate();(5)Close方法,该方法的作用是关闭窗体。其调用格式为:
窗体名.Close();(6)ShowDialog方法,该方法的作用是将窗体显示为模式对话框。其调用格式为:
窗体名.ShowDialog();4.1C#窗体4.1.4窗体事件事件的产生可以来自系统,也可以来自用户。事件是一种将发生的动作与代码相连的机制。因此事件是一个方法指针,它指向某个类实例的方法。窗体的常用事件如下:(1)Activated和Deactivate事件当激活窗体后,就会触发Activated事件,当窗体转到后台时,就会触发Deactivate事件。(2)Click和DoubleClick事件在窗体上(光标没有在其他控件上)单击,就会触发Click事件;在窗体上双击,就会触发DoubleClick事件。(3)KeyDown、KeyUp和KeyPress事件在窗体上按下键盘的任一键(KeyDown)或释放它(KeyUp),就会产生KeyDown和KeyUp事件。(4)MouseDown、MouseUp、MouseMove、MouseEnter和MouseLeave事件4.2窗体设计4.2.1新建窗体进入VisualStudio后,选择“文件”菜单下的“新建”/“项目”的命令项,打开“新建项目”对话框,选左边“项目类型”栏的“其他语言\VisualC#”项,再选右边“模板”栏的“Windows应用程序”模板。选择文件目录位置后,输入项目名称如“FormDesign”,选“创建解决方案的目录”复选框,按“确定”关闭对话框。VisualStudio会自动创建名为FormDesign的项目目录,在项目目录中,自动创建的文件有:项目文件——FormDesign.sln(解决方案)和FormDesign.csproj(C#项目),代码文件——Program.cs(程序入口)、Form1.cs(窗体编程)和Form1.Designer.cs(窗体设计)。4.2窗体设计4.2.2设置窗体属性新建窗体后,设置窗体的属性。窗体常用属性:(1)Text:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。(2)Width:用来获取或设置窗体的宽度。(3)Height:用来获取或设置窗体的高度。(4)Left:用来获取或设置窗体的左边缘的x坐标(以像素为单位)。(5)Top:用来获取或设置窗体的上边缘的y坐标(以像素为单位)。(6)BackColor:用来获取或设置窗体的背景色。(7)BackgroundImage:用来获取或设置窗体的背景图像。(8)Font:用来获取或设置控件显示的文本的字体。(9)WindowState:用来获取或设置窗体的窗口状态。4.2窗体设计4.2.3添加控件从工具箱里往窗体添加控件通常有以下3种方法。(1)双击工具箱上的控件图标,C#将把控件以默认的标准和大小放在窗体中。(2)在工具箱里单击控件图标,选中控件,再在窗体中想放置控件的位置的左上角单击一下窗体,C#将以默认的大小把控件放置在那里。(3)如果想在窗体上添加多个相同控件,可以按住Ctrl键不放,再单击要添加的控件,把鼠标移到窗体上,然后每单击一次鼠标即可放置一个控件,连续单击鼠标,可以放置多个控件,直到不想放置为止。如果你想往窗体中添加的控件,不在工具箱里,可以单击“工具”菜单下“选择工具箱项”命令项,打开“选择工具箱项”对话框,从中找到所需控件,在其左侧的方框内打勾,按“确定”按钮,再回到工具箱,就能看到该控件了。4.2窗体设计4.2.4编辑控件对控件进行适当编辑,包括选定控件、调整控件大小和位置、对齐控件,以及对控件进行删除、复制、剪切和粘贴操作。1.选定控件2.调整大小3.调整位置4.对齐控件5.删除控件6.复制、剪切和粘贴控件7.锁定控件4.2.5设置控件属性单击选中要设置属性的控件,在“属性”窗口中找到相关属性,在该属性的右侧属性值栏设置属性值。对各个控件按需要设置属性。4.2窗体设计4.2.6Tab顺序Tab顺序是指在运行时用Tab键将控件控件切换成当前活动控件时所要遵循的顺序。在“属性”窗口上通过设置各控件的TabIndex属性值来达到目的。或单击“视图”菜单下的“Tab键顺序”命令项,设计窗体以Tab顺序将控件依次排列。4.2.7保存文件窗体设计完后,还需要根据要求编写事件代码,这些将在介绍控件中具体讲述,然后再要保存项目文件和单元文件,以便以后修改。保存单元文件方法是:单击“文件”菜单中“全部保存”命令项,或者直接单击工具栏中的
按钮,将保存全部相关文件。4.2.8运行程序为了对设计的程序进行观察,以便判断是否符合要求,必须对所设计的程序进行或调试,单击“调试”菜单的“启动调试”或者“开始执行”命令项,就可以运行程序了。4.3文本型控件4.3.1Label控件Label(标签)控件是典型的非窗口控件,它不能获得输入焦点,Label控件通常用于提供控件的描述性文字。标签控件的一些常见属性除了显示文本外,Label控件还可使用Image属性显示图像,或使用ImageIndex和ImageList属性组合显示图像。Label控件还可用于显示有关应用程序状态的运行时信息。通过将Label的BackColor属性设置为Color.Transparent,可使该标签成为透明的。属性数据类型说明TextString标签的标题,即标签的显示内容AutosizeBoolean决定标签是否随字体的变化而自动变动尺寸以配合这些变化FontFont选择标签的字体格式和大小4.3文本型控件4.3.2LinkLabel控件LinkLabel(链接标签)控件功能与Label控件基本相同,唯一的差别在于链接标签一般用于指定一个URL,打开一个网页。除了具有Label控件的所有属性、方法和事件以外,LinkLabel还提供一些独特属性,这些属性可以定义控件中超链接的显示外观。ActiveLinkColor、DisabledLinkColor、LinkColor和VisitedLinkColor属性定义在各种状态下显示超链接时所使用的颜色。LinkBehavior属性定义与超链接关联的下划线的显示方式。有两种方法可将超链接添加到LinkLabel控件中。一种方法是指定LinkArea,并将其分配给LinkArea属性。这样可以在控件的文本内指定单个超链接。若要添加多个超链接,可使用LinkLabel.LinkCollection类的Add方法,用户可以通过Links属性访问该集合来使用此方法。4.4按钮型控件4.4.1Button控件Button(普通按钮)控件常简称为按钮。按钮的主要属性:要给按钮添加Click事件,可选择属性框的事件选项卡,单击Click事件名,再在其右边的编辑框中输入事件响应事件名,再按回车即可。另外,双击Click事件名,可为按钮添加缺省事件响应名的事件,并同时打开代码编辑器窗口。属性数据类型说明TextString按钮的标题,就是在按钮上显示的文本,可以为按钮指定快捷键(在标题文本某一字符前加符号&)。ImageImage按钮表面图片。EnabledBoolean当属性值为False时,按钮被设置为灰显,即无法单击或选中它。4.4按钮型控件4.4.2RadioButton控件RadioButton(单选按钮)控件比较常用,一般总是成组出现而且相互排斥的,以让用户在其中选择唯一的一个选项。当用户选择一个组内的一个选项按钮(也称作单选按钮)时,其他选项按钮自动清除。这就是“单选”的含义。Text属性,显示文本。Checked属性,表示单选按钮是否被选中,缺省为False(未选中)。如果想在窗体上放置两组或以上单选项按钮,可以使用GroupBox(成组框)控件,将不同组的单选按钮放在不同的GroupBox控件中,可以分成不同组。先在窗体上放置成组框,然后把单选按钮放置到成组框里。这样按钮就属于成组框了,移动不出来。4.4按钮型控件4.4.3CheckBox控件如果想在一系列的选项中选中一个或多个,就需要使用CheckBox(复选框)控件。复选框重要的属性:复选框之间互不排斥,但也可以用分组框把它们归类,使得窗体的外观整齐易懂。属性数据类型说明CheckAlignLeftRight控制复选框位置TextAlignLeftRight控制复选框标题位置CheckedBoolean确定复选框是否被选中,缺省为FalseThreeStateBoolean属性确定该控件是支持两种状态还是三种状态。4.5编辑型控件4.5.1TextBox控件TextBox(文本框)控件常与标签一起使用,主要用于输入文本。此控件具有多行编辑和密码字符屏蔽的附加功能。文本框常用属性:通常,TextBox控件用于显示单行文本或将单行文本作为输入来接受。可以使用Multiline和ScrollBars属性,从而能够显示或输入多行文本。通过将AcceptsTab和AcceptsReturn属性设置为true,可在多行TextBox控件中更加灵活地操作文本。文本框控件常用事件有KeyPress事件、TextChanged事件和Enter事件。属性数据类型说明TextString在文本框中出现的文本MaxLengthInt文本框的最大字符数,缺省为32767PasswordCharChar显示口令字符,缺省为空,表示正常显示ReadOnlyBoolean确定文本框是否只读,缺省为False,表示可读写4.5编辑型控件4.5.2MaskedTextBox控件MaskedTextBox(掩码文本框)控件可以设计出许多复杂的输入格式。通过使用Mask属性,无需在应用程序中编写任何自定义验证逻辑,即可指定下列输入:①必需的输入字符。②可选的输入字符。③掩码中的给定位置所需的输入类型;如,只允许数字、只允许字母或者允许字母和数字。④掩码的原义字符,或者应直接出现在MaskedTextBox中的字符;例如,电话号码中的连字符(-),或者价格中的货币符号。⑤输入字符的特殊处理;例如,将字母字符转换为大写字母。4.5编辑型控件4.5.3NumericUpDown控件NumericUpDown(数字微调框)可以获得输入焦点。主要用于输入数字,用以将数字微调框中的数字递增或递减一个指定单位数字。数字微调框常用属性:可通过设置DecimalPlaces、Hexadecimal或ThousandsSeparator属性来设置数字的显示格式。数字微调框控件常用的事件和文本框控件完全相同,也是KeyPress事件、ValueChanged事件和Enter事件等。属性数据类型说明Valueint获取或设置赋给数字微调框的值Incrementint单击微调按钮时数字每次增加或减小的步长Maximumint数字的最大值Minimumint数字的最小值4.5编辑型控件4.5.4RichTextBox控件RichTextBox(复文本框)控件可以编辑多行文本,控件中的文本可以有多种字体和颜色等格式。可以将文本直接分配给该控件,或者从RTF格式文件或纯文本文件加载文本。RichTextBox控件的常用属性:RichTextBox控件的常用方法:属性数据类型说明RightToLeftBoolean确定RichTextBox中显示文本的对齐方式LinesTStringsRichTextBox控件中出现的文本ScrollBarsTScrollStyle确定RichTextBox的滚动条及其样式WordWrapBoolean文本到右边界时是否自动换行方法说明SelectedTextRichTextBox控件中被选中的文本SelectionLengthRichTextBox控件中被选中的文本长度Cut把RichTextBox控件中被选中的文本剪切到剪贴板Copy把RichTextBox控件中被选中的文本复制到剪贴板Paste把剪贴板的内容粘贴到RichTextBox控件中光标位置4.6列表框型控件4.6.1ListBox控件ListBox控件可以向用户显示一列项,用户可以用鼠标选择一个或多个选项,甚至可以随时增加或删除某些选项。列表框的主要属性:常用操作(1)listBox添加项:listBox1.Items.Add("选项字符串");(2)listBox第n项处插入项:listBox1.Items.Insert(n,"灰色");(3)listBox判断第n项是否选中:if(listBox1.GetSelected(n))(4)listBox设置第n项是否选中:listBox1.SetSelected(n,逻辑式);(5)listBox删除第n项:listBox1.Items.RemoveAt(n);(6)listBox删除所有项:listBox1.Items.Clear();属性数据类型说明SelectionMode枚举确定用户的选中方式ItemsTStrings列表框中的选项列表SelectedIndexInt列表框中当前被选中的选项(只读属性)SelectedIndices集合获取一个集合,该集合包含ListBox中所有当前选定项的从零开始的索引。(只读属性)SelectedItemTItem获取或设置ListBox中的当前选定项。(只读属性)SelectedItems集合获取包含ListBox中当前选定项的集合。(只读属性)4.6列表框型控件4.6.2CheckedListBox控件对于列表框,选定一项选项后,选项被加亮。列表框也允许同时选定多项选项,这些选项同时加亮。为了方便用户选定选项,C#用一个新的控件扩展了列表框——CheckedListBox(复选列表框)控件,在列表框各选项前有一复选框。复选列表框对于多项选择和状态选择非常有用。除了同listBox的几个常用操作以外,CheckedListBox控件有二个特有的操作。(1)checkedListBox判断第n项Check框是否选中if(checkedListBox.GetItemChecked(n))若逻辑表达式为true,则将第n项Check框为选中状态,否则Check框为未选中状态。(2)checkedListBox设置第n项的Check框是否选中checkedListBox1.SetItemChecked(n,逻辑表达式);4.6列表框型控件4.6.3ComboBox控件列表框、复选列表框通常要占据很大一块空间,而使用ComboBox(组合框)控件就只要一行就够了。另外,组合框带有一个编辑框,用户可以在其中输入。一般情况下,组合框只显示这个编辑框,当用户单击该编辑框右边的下拉箭头时,就会显示一个包含所有选项的下拉列表。组合框的常用属性:属性数据类型说明TextTStrings编辑框中的字符串SelectedIndexInt列表框中当前被选中的选项SelectedItemTItem获取或设置ComboBox中当前选定的项。SelectedTextTStrings获取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车辆维修合同6篇
- 医学生针灸考试题及答案
- 三检培训考试题目及答案
- 学校食堂食材采购索证索票规范管理方案
- 广东省东莞市2026年中考二模英语试题附答案
- 药品管理法知识培训试题及答案
- 医疗废物分类处置管理制度
- 血液净化理论试题及答案
- 市档案局馆方志办学习实践科学发展观活动整改落实阶段工作方案
- 178红色书籍背景的《围城》读书分享会下载 2
- 2025年安全b证考试题及答案
- 2026年福建省公安厅招聘警务辅助人员笔试试题(含答案)
- 温室气体排放管理控制程序GHG排放管理程序及公司温室气体排放管理清单
- 文化人类学概论教案
- GB/T 18998.5-2022工业用氯化聚氯乙烯(PVC-C)管道系统第5部分:系统适用性
- GB/T 1871.1-1995磷矿石和磷精矿中五氧化二磷含量的测定磷钼酸喹啉重量法和容量法
- FZ/T 73023-2006抗菌针织品
- 金属型常见缺陷-缩孔与缩松
- 【外科】骨折概论-课件
- 《物流管理信息系统》第5章.物流管理信息系统分析
- 初中英语合成词讲解课件
评论
0/150
提交评论