




已阅读5页,还剩144页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C#.net程序设计,课件中是以vs2005为界面介绍的,开发环境如果是vs2008或vs2010,操作方法都基本一致,开发环境只是界面有少许不同,基本知识相同,不影响读者学习本课程。 课件配套教材:c#.net程序设计 出版社:浙江大学出版社 主编:黎浩宏 课件例子源代码下载网址:/data/345374 或在百度搜索:“c#.net程序设计配套源代码(前三章) ”,用Visual C#.net创建简单的windows应用程序,工作任务 使用Visual C#.net集成开发环境开发简单的windows应用程序,模块1 创建并运行 windows应用程序,一、教学目标 熟悉Visual C#.net集成开发环境创建windows应用程序的步骤 二、工作任务 在使用实际的应用程序时,经常会有提示信息提示软件的使用者怎样操作所使用的软件,我们现在创建一个应用程序,显示提示信息 。其窗口如图1-1左图所示,当单击“提示信息”按钮时,显示如图1-1右图所示。,(二)创建c#.net windows应用程序,(1) 在Visual Studio 2005集成开发环境中,选择【文件】|【新建】|【项目】|【microsoft visual studio 2005】菜单,将会弹出“新建项目”对话框,如图1-3所示。 (2)在左侧的“项目类型”区域选择树型节点中的visual c#中的windows, (3)在右侧“模板”区域选择“windows应用程序”。 (4)设定项目保存位置,可以单击“浏览”按钮改变该项目保存的位置,选择好项目保存的位置后,回到该对话框,单击“确定”按钮即可,此时将出现如图1-4的界面 此界面自动会出现一个标题栏为”Form1”的窗体,此窗体的名称其实也是form1,以后我们将称之为Form1窗体,不再赘述。,(三)向窗体添加控件,在图1-4所示的Form1窗体中添加一个label(标签)控件和一个button(按钮)控件,具体方法如下: 默认情况,Visual studio 2005 c#.net集成开发环境界面中,工具箱窗口是隐藏的,此时将鼠标指向左侧的工具箱图标,工具箱窗口自动显示,如图1-5。,(三)向窗体添加控件,(2)展开“公共控件”节点,如图1-5所示,选中Button控件,拖到Form1窗体上,再选中Label控件,拖到Form1窗体上,当鼠标离开工具箱窗口时,工具箱窗口将自动隐藏,停靠在集成开发环境的左侧。 (3)将Form1窗体上的标签对象和按钮对象用鼠标拖动到合适位置,其设计界面如图1-6所示。,(四)设置标签和按钮的属性,此时我们可以看到,标签和按钮对象上显示的都是英文,我们要设置这两个对象显示的信息为我们指定的中文,就必须分别设置其对应的属性。方法如下: 1)在Form1窗体上选中label1标签(因为该标签的名称为label1,这里称之为label1标签),此时在标签的周围有一个矩形虚线框。,(四)设置标签和按钮的属性,2)在Visual studio 2005 c#.net集成开发环境中的右下角中的属性窗口中(如果属性窗口没出现,可以使用【视图(V)】|【属性窗口(W)】菜单显示属性窗口),拖动属性窗口右侧垂直滚动条,选中Text属性,在Text属性右侧输入“我的第一个应用程序!”,如图1-7所示 3)按钮上的显示信息和标签的设置方法类似。,说明:也可以在属性窗口中选择label1标签或button1按钮,见图1-7图中说明。Text属性含义为控件上显示的文本内容,(五)编写单击按钮事件处理方法,在Form1窗体上,双击button1按钮(因为该按钮的名称为button1,这里称之为button1按钮),Visual studio 2005 c#.net开发环境将进入代码编辑器环境,光标自动定位在button1按钮的单击事件处理方法button1_Click中,只要输入如图1-8所示的代码即可。,说明:button1_Click是button1按钮鼠标单击事件处理方法,在运行该项目时,只要单击了该按钮,button1_Click事件处理方法中的所有代码(即该事件处理方法下面的“”和“”内的代码,这里只有一行代码)会被计算机自动运行,而代码MessageBox.Show(“欢迎使用c#.net语言开发软件!“, “提示信息“);的作用是显示如图1-1右侧的信息框,其作用是将信息框的标题设置为“提示信息”,信息框显示的信息设置为“欢迎使用c#.net语言开发软件!“。注意,该行代码最后要有分号。,(六)保存项目,选择【文件(F)】|【全部保存(L)】菜单,(七)运行程序,此时该程序的全部工作已经完成,选择【调试(D)】|【启动调试(S)】菜单,也可以单击工具栏上的“”按钮,此时会出现如图1-1所示的左侧窗体,单击窗体的“提示信息”按钮时,将会出现图1-1右侧的信息提示框。,(八)结束程序,依次单击提示信息框和程序窗体的右上角的关闭按钮,也可以在Visual studio 2005开发环境中,选择【调试(D)】|【停止调试(E)】菜单。,Visual Studio 2005简介,Visual Studio 2005是Microsoft(微软公司)推出的新一代软件开发工具,它包括C#,Visual Basic、Visual C+和.NET Framework。.NET Framework 称为.NET框架,它是一种托管的、类型安全的代码执行环境。Visual Studio 6.0之前版本的语言编写的程序可以在windows环境中直接运行,而Visual Studio 2003和Visual Studio 2005是基于.NET环境,所以用这两个开发工具的语言编写的程序必须在.NET Framework环境下运行,,Visual Studio 2005简介,为有别于Visual Studio 6.0之前的语言,我们称之为C#.net, Visual Basic .NET、Visual C+ .NET语言。用.NET语言编写的程序必须在机器上安装好.NET Framework后方可运行,.NET Framework可以到微软官方网站上下载,Visual Studio 2005 .NET Framework是2.0版本, 而Visual Studio 2003 .NET Framework是1.0版本。,Visual Studio 2005简介,.NET Framework包括CLR(Common Language Runtime,公共语言运行库)和.NET Framework类库。CLR负责管理和执行.NET框架代码,符合Visual Studio .NET编译器规则的代码在执行时需要CLR的支持,这些代码称为托管代码(Managed Code)。用.NET语言编写的程序被编译时,应用程序不是被直接编译成二进制代码,而是被编译成MSIL(Microsoft Intermediate Language,微软中间语言),MSIL代码(Managed Code,称为“托管代码“)在CLR中运行,当应用程序加载后, CLR根据需要将其再次编译成可执行代码。这种编译称为JIT(Just-in-Time)即时编译。,Visual Studio 2005简介,.NET Framework类库是Microsoft已经编写好的一个内容丰富的受管制的类代码集合,它可以完成以前要通过Windows API来完成的绝大多数任务,使程序员从烦琐的API函数调用中解脱出来,专心于应用程序事务的处理。 .NET Framework使我们可以更容易的开发基于Web和基于Windows应用程序,允许使用不同的语言一起进行开发工作。,c#概述,c#语言从C和C+发展而来,其语法和C、C+、Java的语法很多都相同。它汲取了包括C、C+、Java在内的多种语言的精华,是一种简单、完备、类型安全和完全面向对象的高级程序设计语言,C#是专门为.NET应用而开发的语言,与.NET框架完美结合。使用C#可以创建传统的Windows客户端应用程序、XML Web Service、分布式组件、客户端/服务器应用程序、数据库应用程序等。,Visual Studio 2005开发环境,起始页 起始页界面可以参考图1-2,包括“最近的项目”、“开始”、“Visual Studio标题新闻”、“Visual Studio开发人员新闻”四项内容,在“最近的项目”中可以方便地打开或新建项目和网站,在“开始”中可以选择感兴趣的内容进行入门学习,另外两项可以查看相应地新闻。如果你的界面没有“起始页”,若要显示“起始页”,可以选择【视图(V)】|【其他窗口(E)】|【起始页(G)】菜单。,Visual Studio 2005开发环境,解决方案资源管理器窗口 解决方案资源管理器窗口如图1-9所示,用于管理和监控解决方案中的项目,提供项目及其文件的有组织的视图,并且提供对项目和文件相关命令的便捷访问。 如果集成环境中没有出现该窗口,可通过选择【视图(V)】|【解决方案资源管理器(W)】菜单来显示该窗口。,Visual Studio 2005开发环境,在解决方案资源管理器窗口中包含有6个按钮,如图1-10所示,常用的有4个按钮。分别是“属性”、“显示所有文件”、“查看代码”和“查看设计器”按钮。 单击“属性”按钮,可以切换到属性窗口中 单击“显示所有文件”按钮,在该窗口中的树型视图中将列出所有的文件和包含的文件夹。,Visual Studio 2005开发环境,单击“查看代码”按钮,将切换到代码编辑器窗口,代码编辑器窗口可以参考图1-8。 单击“查看设计器”按钮,将切换到窗体设计器窗口,窗体设计器窗口可以参考图1-6,工具箱窗口,“工具箱”窗口如图1-10所示。初始时,工具箱是隐藏在Visual Studio 2005集成开发环境窗口的左侧,可以参考图1-5。 如果在如果集成环境中没有出现该窗口,可以通过选择【视图】【工具箱】菜单来显示该窗口。,工具箱窗口,在“工具箱”窗口中用树型视图存放了开发.NET windows应用程序和开发网页的常用控件,“工具箱”窗口已经为软件开发人员将Visual Studio 2005集成开发环境提供的控件分好了类,软件开发人员可以非常方便的利用工具箱中的各种控件,快速方便的开发应用程序。,工具箱窗口,在“工具箱”窗口中,可以单击对应树型节点左侧的+号按钮,展开显示相应节点所包含的控件。图1-10右图即为“公共控件”节点包含的部分控件。 在设计窗体时,要将所需的控件添加到窗体中,有下面两种方法:,工具箱窗口,单击相应的控件图标,拖动控件到窗体中,然后在窗体中拖动控件到合适位置。 双击相应的控件图标,控件会被自动放到窗体中,此方法适合在窗体中放置多个控件,然后可以在窗体中拖动控件到合适位置,设计符合自己意图的界面。,4属性窗口,“属性”窗口如图1-11所示,使用该窗口可以编辑和查看文件、项目以及解决方案属性,“属性”窗口最常用的功能是在设计windows应用程序窗体时查看和修改被选中的控件对象的属性和事件。为所选控件对象设置属性非常简单,其方法可参考本模块的相关实践知识中的“(四)设置标签和按钮的属性”中的相关设置方法。,4属性窗口,下面介绍控件对象的事件设置方法。为所选控件设置事件有两种方法。 双击控件,可以为控件添加默认的事件,但每个控件的默认事件并不相同,所以在不熟悉的情况下尽量不用要这种方法,如双击按钮,将为按钮添加按钮单击事件。 在“属性”窗口中设置控件事件。先选中控件,然后在属性窗口中单击“事件”按钮,将出现如图1-12所示的窗口,用鼠标双击相应的事件即可为此控件添加相应事件。,5窗体设计器窗口,该窗口用来设计应用程序的界面,如图1-13所示,用户可以从工具箱中把各种控件添加到窗体上来,并安排它们的布局。,6代码编辑器窗口,代码编辑器窗口见图1-8。在代码编辑器窗口时,“工具箱”窗口上不会显示相应控件图标。在创建一个新的项目时,只有一个窗体,将看不到如图1-13所示的窗体代码选项卡,要显示代码编辑器窗口,可以有下面两种方法: (1)在窗体上,单击右键,选择【查看代码(C)】菜单 (2)单击“解决方案资源管理器”窗口的“查看代码”按钮,6代码编辑器窗口,同样,从代码编辑器窗口切换到窗体设计器窗口,也可以有下面两种方法: (1)在代码编辑器上,单击右键,选择【查看设计器(D)】菜单 (2)单击“解决方案资源管理器”窗口的“查看设计器”按钮,6代码编辑器窗口,在代码编辑器窗口编写代码时,默认情况下,没有显示行号,要设置行号,可以用以下方法实现: (1)选择【工具(T)】|【选项(O).】,出现如图1-14所示界面 (2)在左侧树型视图中,选择“文本编辑器”节点,选中“c#”,在右侧的下方,选中复选钮“行号”,单击“确定”按钮即可,7改变Visual studio 2005集成开发环境中窗口的显示,在Visual studio 2005集成开发环境中,我们可以看到“工具箱”窗口被自动隐藏了,用一个按钮方式显示在Visual studio 2005集成开发环境中的左侧。而属性窗口以及“解决方案资源管理器”窗口没有隐藏,其实这两个窗口目前处于停靠的状态,可以看到这两个窗口“自动隐藏”按钮象一个图钉,图钉是向下的,这种状态是停靠状态,当单击“自动隐藏”按钮时,相应的窗口将会自动隐藏。可以通过单击“自动”隐藏按钮实现窗口是否是隐藏状态。,7改变Visual studio 2005集成开发环境中窗口的显示,在Visual studio 2005集成开发环境中,常用的有“工具箱”、“解决方案资源管理器”、“属性”窗口等,其实,这些窗口可以被用户自由的放置在用户想要的位置。这里说明属性窗口位置的设置方法,其余窗口设置方法相同。其方法如下,7改变Visual studio 2005集成开发环境中窗口的显示,(1)鼠标拖动“属性”窗口的标题栏,拖动“属性”窗口到Visual studio 2005集成开发环境窗口中间,此时在Visual studio 2005集成开发环境窗口中间会出现一个菱形标志。 (2)在拖动“属性”窗口的同时,鼠标在相应按钮上,当出现蓝色背景时,如图1-15所示,放开鼠标,“属性”窗口将会停靠在指示的位置。,7改变Visual studio 2005集成开发环境中窗口的显示,默认情况,“属性”窗口是放置在“解决方案资源管理器”窗口的下方,如果要将“属性”重新放到“解决方案资源管理器”窗口下方,只要将“属性”窗口拖到“解决方案资源管理器”窗口中间,当“解决方案资源管理器”窗口中间出现菱形标志时,按相同的方法操作即可。,8Visual c#.net windows项目有关操作和项目相关文件,(1)创建Visual c#.net windows项目将产生的文件 创建项目后,Visual c#.net将会自动以解决方案名创建一个文件夹,在该文件夹下,包含Visual c#.net windows项目产生的相关文件和文件夹。详细说明如表1-1,8Visual c#.net windows项目有关操作和项目相关文件,(2)创建项目 创建项目可以参考本模块的相关实践知识的步骤,不再赘述。 (3)保存项目 在创建好项目后,可以选择【文件(F)】|【全部保存(L)】菜单保存项目,也能在标准工具栏上单击“全部保存”按钮实现保存项目。,8Visual c#.net windows项目有关操作和项目相关文件,(4)打开项目 当要打开已经创建好的项目时,记住,要选择.sln文件才可以打开项目,可以用以下4种方法打开项目: 在起始页中,选择“最近的项目”中相应的选项。 在Visual Studio 2005环境中,选择【文件(F)】|【打开(O)】|【项目/解决方案(P).】菜单。 在Visual Studio 2005环境中,选择【文件(F)】|【最近的项目(J)】菜单,在下一级菜单项中再选择相应的菜单。,8Visual c#.net windows项目有关操作和项目相关文件,(4)打开项目 当要打开已经创建好的项目时,记住,要选择.sln文件才可以打开项目,可以用以下4种方法打开项目: 在起始页中,选择“最近的项目”中相应的选项。 在Visual Studio 2005环境中,选择【文件(F)】|【打开(O)】|【项目/解决方案(P).】菜单。 在Visual Studio 2005环境中,选择【文件(F)】|【最近的项目(J)】菜单,在下一级菜单项中再选择相应的菜单。,8Visual c#.net windows项目有关操作和项目相关文件,当用Visual Studio 2005环境打开已有的项目时,如果看不到项目的设计窗体,可以在“解决方案资源管理器”窗口中双击对应的窗体代码文件节点项(如Form1.cs)即可看到相应的窗体。,9Visual Studio 2005环境的三种状态,Visual Studio 2005环境可以有三种状态,当用户在设计窗体界面和编写代码时,处于设计时;当用户在运行项目程序时,处于运行时, Visual Studio 2005环境窗口的标题栏上有“正在运行”字样出现;当用户在调试项目程序时Visual Studio 2005环境窗口的标题栏上有“正在调试”字样出现。显然,在运行和调试项目程序时,用户是不可以修改代码和设计窗体界面的,当修改代码时,会出现错误提示框,请参考图1-16。,窗体的简单应用,工作任务 设计的应用程序的窗体如图1-17左图所示,运行程序时,当单击“隐藏窗体”按钮,窗体被隐藏,会显示一个信息框,如图1-17右图所示;当单击信息框的“确定”按钮,信息框消失,窗体同时被显示;当在文本框上输入数值,单击“求平方”按钮,在窗体上会显示相应数值的平方数;当单击“关闭窗体”按钮,窗体被关闭,同时结束应用程序。,窗体的简单应用,(一)设计窗体及相关控件属性 该步骤即为模块1的第3、4步,启动visual studio 2005开发工具和创建c#.net windows应用程序方法见本项目的模块1相关实践知识,在以后的模块中这两步不再赘述,都直接从设计窗体及相关控件属性步骤开始说明,1设计窗体界面 窗体设计界面如图1-18所示,,窗体的简单应用,2添加控件和设置控件属性 窗体上共添加2个标签(Label),3个按钮(Button),一个文本框控件(TextBox)。为方便描述设计窗体方法,以后全部用表1-2格式进行说明,如文本框(TextBox)控件,所对应是“工具箱”窗口中的“公共控件”中的TextBox控件。,窗体的简单应用,3设计窗体上控件的布局 在图1-18中,我们可以看到“关闭窗体”按钮明显和其他两个按钮不在同一行上,当然可以用鼠标将该按钮手动拖动到和其余两个按钮的在同一行中。 这里介绍利用“布局”工具栏的方法设置窗体上控件的布局方式。布局工具栏各按钮功能如图1-19所示。,窗体的简单应用,将窗体上三个按钮水平对齐设置方法如下: 选中这三个按钮,可以先选中第一个按钮,然后按住ctrl键不放,鼠标依次单击另外两个按钮,也可以在窗体上用鼠标从第一个按钮的左上方向第三个按钮的右下方拖动,当出现的虚线框包含这三个按钮时放开鼠标即可。 布局工具栏上的各个按钮由灰色不可用状态变为可用状态时,单击“底部对齐”或“顶部对齐”按钮。,窗体的简单应用,4设计程序运行时窗体上的控件获得焦点的顺序 当运行程序时,如果窗体上的控件很多,用键盘操作将是比较方便的,按tab键,就可以将焦点自动定位到后面的控件上。要设置控件获得的焦点顺序,就必须设置控件的TabIndex属性,该属性是控件的Tab顺序索引。,窗体的简单应用,在添加控件时,该属性值将由Visual c#.Net自动分配一个值,其序号是由0开始顺序分配的,如添加的第一个控件的TabIndex属性值为0,第二个控件的TabIndex属性值为1,以此类推。在运行程序时,TabIndex属性值为0的控件将自动获得焦点,按Tab键,焦点将会定位到TabIndex属性值为1的控件,以此类推。,窗体的简单应用,设置控件TabIndex属性值可以在属性窗口中进行设置,但非常繁琐,这里介绍使用布局工具栏上“tab键顺序”按钮的方法进行设置,使用起来非常方便。 (1) 选中窗体或窗体上的任何控件,单击“布局”工具栏上“tab键顺序”按钮(也能选择【视图(V)】|【tab键顺序(B)】菜单),在每个控件左上角上将出现蓝底的数字,该数字即为对应控件的TabIndex属性值,如图1-20所示界面。,窗体的简单应用,(2) 第一次单击程序运行时要获得焦点的控件,然后按照控件获得焦点的次序依次单击对应的控件,设计完成后,单击“布局”工具栏上“tab键顺序”按钮(也能选择【视图(V)】|【tab键顺序(B)】菜单),每个控件左上角上出现的蓝底数字消失即可。,窗体的简单应用,说明:有一些控件在程序运行时是不能获得焦点的,如标签不能获得焦点。其实能获得焦点的控件都有一个属性“TabStop”属性,不能获得焦点的控件没有这个属性,如标签就没有。只有将“TabStop”属性设置为True的控件,在运行程序时,按Tab键才能获得焦点。控件的“TabStop”属性值默认是True。,窗体的简单应用,5锁定控件和窗体 当设计好窗体后,如果不允许在修改窗体上控件的设计效果,即不允许改变控件在窗体上的位置,可以锁定控件或窗体,只要选择窗体或窗体上的任何控件,右击鼠标在弹出的菜单上选【锁定控件】菜单即可,此时可以看到你选中的窗体或窗体上的控件左上角有一个锁的图标,这时你将不能改变控件在窗体上的位置。解除锁定的方法和锁定的方法相同,不再赘述。默认情况下,窗体和控件没有被锁定。,窗体的简单应用,(二)编写事件处理程序 1编写窗体的Load事件处理方法 程序代码如下: private void Form1_Load(object sender, EventArgs e) textBox1.Text = “5“; /将文本框textBox1上信息设置为5 label2.Text = “25“; /将标签label2的显示内容设置为25 this.Text = “显示和隐藏窗体“; /设置窗体的标题显示信息 ,窗体的简单应用,只要双击窗体,或者通过属性窗口为form1窗体添加Load事件,即会自动生成Form1_Load事件的代码框架,即1、2、6行是Visual c#.net 环境自动生成的,我们只要输入3、4、5行代码。,窗体的简单应用,窗体的Load事件发生在窗体加载到内存时发生,即Load事件内的代码会被执行,这里就是3、4、5行代码会被执行。可以这样理解,在窗体在屏幕上显示之前,Load事件会发生,该事件中的代码都会被执行。一般将程序的初始化代码放在Load事件中进行处理。图1-17是程序运行界面,窗体标题栏是“显示和隐藏窗体”,而图1-18是程序设计界面,窗体标题栏是“Form1”,就是因为Load事件发生了,显示的窗体标题栏信息和设计时窗体标题栏信息不相同的原因。,窗体的简单应用,2编写“隐藏窗体”按钮单击事件处理方法 private void buttonHideSelf_Click(object sender, EventArgs e) this.Hide(); /隐藏窗体 MessageBox.Show(“单击确定按钮,使窗体重新显示!“,“信息框“); this.Show(); /显示窗体 其中Hide和Show都是窗体的方法,分别用于隐藏和显示窗体。,窗体的简单应用,3编写“关闭窗体”按钮单击事件处理方法 private void buttonClose_Click(object sender, EventArgs e) Close(); Close方法用于关闭窗体,该方法也是窗体的方法。这里在Close前其实是省略了this,窗体的简单应用,4编写“求平方”按钮事件单击处理方法 private void button1_Click(object sender, EventArgs e) float a, b; /定义两个单精度实数变量a,b a = Convert.ToSingle(textBox1.Text); b = a * a; label2.Text= Convert.ToString(b); ,窗体的简单应用,第4行代码中,Convert.ToSingle方法表示ToSingle方法是Convert类的一个方法,作用是将括号内的内容转化为单精度实数,这里就是将textBox1.Text(即文本框中输入的信息)转化为实数,由于textBox1.Text是字符串数据,要将它转化为实数才能赋值给a。Convert.ToString方法的作用表示将其括号中的内容转化为字符串。,理论知识,(一)Visual c#.net的基本概念 1可视化编程 Visual c#.net 2005采用可视化编程方法,软件开发人员可以在集成开发环境中通过控件来创建对象,通过属性窗口为每个控件设置属性,只要编写相应的用户动作的事件处理程序, 很多工作由系统自动完成,大幅度的减少了软件开发人员编写代码的工作量,可以快速创建强大的应用程序。,理论知识,2类 C是面向对象(Object-Oriented Programming,OOP)的程序设计语言。类是面向对象的基本概念,类(class)就是对具有相同特征的一类事物所做的抽象(或者说,归纳)。是对同一种对象的统称,是一个抽象的整体概念。如“汽车”、“书”、“电视机”、“人”等等都是我们抽象出来的某个类的概念。 如在Visual c#.net设计环境中,“工具箱”窗口中包含的Label1,TextBox,Button等控件其实都是类。,理论知识,3对象 类是一种抽象,而对象(object)则是实例(instance),是具体的。如“书”是类,这是一个统称,而如果你自己拥有两本书,假设为c#程序设计、大学英语是具体的两本书,这两本书就是“书”的对象。再如建造5幢居民楼房子前,要先有设计图,设计图包括房子的格局,设计图就是“类”,而建造的5幢具体的居民楼房子则是对象,它们都有相同的格局。 如模块2中的窗体上的“隐藏窗体”、“关闭窗体”、“求平方”三个按钮就是按钮对象。是具体存在窗体上的。,理论知识,4属性 属性说明了类具有的特点、性质。如每个人都有脸、眉毛、眼睛,脸、眉毛、眼睛就是人的属性,而人就是类, 具体的每个人都可以从这些方面来描述。如果有两个人张三、王珊,这两个人就是人这个类的两个具体的对象。如张三的脸是长脸,眉毛是浓眉,眼睛是眼皮,而王珊的脸是瓜子脸,眉毛是柳叶眉,眼睛是双眼皮。,理论知识,用c#语言格式来说明张三的特点,就用下列方式: 张三. 脸=长脸; 张三.眉毛=浓眉; 张三.眼睛单眼皮; 同理,王珊的这三个特点也要用上面的格式来说明。用“.”来描述属性是哪个对象的属性,“张三. 脸”表示张三的脸,“王珊.眼睛”表示王珊的眼睛。“.”可以理解为“的”的含义,如textBox1.Text表示是textBox1的Text属性。,理论知识,引用属性的格式如下: 对象名.属性名 可以设置或者获取属性值。其中控件的属性设置方法有两种方式: (1)在属性窗口进行设置,没有做特别要求且能够实现功能时,建议尽量用该方法。 (2)用代码方式,要用赋值语句,其格式如下: 对象名.属性名属性值; 如在本模块中,将文本框的显示信息设置为“5”的代码如下: textBox1.Text = “5“;,理论知识,而获取属性值时,直接用以上格式,如可以在本模块窗体单击事件中写如下代码: private void Form1_Click(object sender, EventArgs e) this.Text=TextBox1.Text; 运行程序时,当单击窗体时,窗体的标题栏显示内容将设置为文本框的输入信息。,理论知识,5方法 类的方法可以看作是类所具有的动作或行为。如人都会吃菜、睡觉、走路,这三个动作就是人这个类的方法。假设现在张三正在走路,王珊正在吃菜,吃的是白菜,用c#语言格式来说明这两个人现在的行为,就可以用下列格式: 张三.走路(); 王珊.吃菜(白菜); 在调用某个对象的方法时,“.”可以理解为“做”的含义。用代码实现方法时,必须在方法后加上小括号,小括号内的是参数。,理论知识,调用方法的格式如下: 对象名.方法名(参数表); 或 类名.方法名(参数表); 如在本模块中,显示窗体的代码如下: this.Show(); 表示这个方法是this(即当前窗体)对象“做”的,换句话说就是显示当前窗体。 而代码“MessageBox.Show(“单击确定按钮,使窗体重新显示!“,“信息框“);”表示显示信息框,括号内的参数用于定义信息框的标题和显示的信息,这里MessageBox是一个类名,即信息框类。,理论知识,6事件 事件是对象发送的消息,当用户执行一个操作,如单击一个按钮,按一个键,就会发生一个事件。该事件计算机能够识别,通常称之为触发了一个事件。如窗体的加载事件(Load),鼠标移动事件(MouseMove)等等。,理论知识,7事件方法 事件方法其实就是一个特殊的方法,之所以称之为事件方法,是因为该方法和相应的事件进行了关联。当一个事件被触发时,该事件方法会被自动调用,也就是说事件方法中的代码会被计算机执行。如本模块中当单击“关闭窗体”按钮时,该按钮的Click事件会被触发,相应的事件方法(即buttonClose_Click方法)中的“Close();”代码就会被自动执行。,理论知识,事件方法的定义格式如下: private void 对象名_事件名(参数列表) /这里需要软件开发人员编写事件处理程序 如: private void buttonClose_Click(object sender, EventArgs e) Close(); 就是由“关闭窗体”按钮(buttonClose是 “关闭窗体”按钮的名称)触发的Click事件,该事件方法只能响应“关闭窗体”按钮单击事件。,理论知识,(二)命名空间 命名空间是c#代码的基本组织形式,是组织应用程序的一种结构,类、结构等各种类型定义都必须包含在命名空间中。,理论知识,命名空间在默认情况下会自动创建,命名空间的名字就是项目名,由关键字namespace声明,如图1-21中的第8行代码namespace WindowsApplication1,其中WindowsApplication1是命名空间的名字。命名空间中的代码都必须包含在一对大括号“”和“”之中。“”表示开始,“”表示结束,且大括号必须成对使用,少了任何一个都会出错。在图1-21中,第9行的“”表示命名空间由此开始,第41行的“”表示命名空间到此结束,而第1040行的代码都属于命名空间WindowsApplication1。,理论知识,C#要求其程序中的每一个元素都要属于一个类。如图1-21中,程序的第10行public partial class Form1 : Form代码声明了一个类,类的名字叫Form1,其实就是窗体类。我们可以看到,类也是包含了一对大括号,大括号的内容就是这个窗体类的代码,第1140行中的所有内容都是窗体类的代码。,理论知识,C#程序是用命名空间来组织代码,类都存在命名空间中,要访问某个命名空间中的类或对象,必须用如下语法: 命名空间.类名 如System.Windows.Forms. MessageBox.Show(“单击确定按钮,使窗体重新显示!“, “信息框“),MessageBox是一个类,是命名空间System.Windows.Forms中的一个类,而Show只是MessageBox类的一个方法。,理论知识,命名空间用“.”(圆点)来说明命名空间的层次,其含义是后面的命名空间属于前面的命名空间的子命名空间,如System.Windows.Forms表示Forms命名空间是Windows 命名空间的子命名空间,而Windows 命名空间是System命名空间的子命名空间。类似于windows操作系统下的文件夹组织结构,,理论知识,如C:Program FilesGoogle googletoolbar,文件夹下可以包含子文件夹,但文件一定在一个文件夹下。同理,在C中,类一定在命名空间下,而命名空间可以包含子命名空间。只不过文件夹用“”来表示文件夹的层次,命名空间用“.”来表示命名空间的层次。,理论知识,在c#中,使用using关键字来导入命名空间,如图1-21中,第17行的代码都是导入命名空间。其实类MessageBox是System.Windows.Forms命名空间中定义好的一个类,所以实际上用户在访问MessageBox类时,完整的写法应该是: System.Windows.Forms. MessageBox,理论知识,但是,在程序的第一行,使用了using System.Windows.Forms; 这条语句用using语句导入System.Windows.Forms命名空间,这样在本程序中可以直接使用System.Windows.Forms命名空间中的类或对象,所以要访问MessageBox类,就可以不用写System.Windows.Forms,直接写MessageBox即可。,窗体,在Windows中,大多数用户界面都是由窗体组成的。因此,大多数控件也是基于窗体的。窗体是屏幕上被边框围住的一部分,它有标题而且通常有一个系统菜单。窗体可以在屏幕上移动,可以关闭,可以最大化或最小化。 Visual c#.net windows应用程序是从建立窗体开始的,因此熟练掌握窗体的重要属性、方法和事件,对于开发应用程序非常关键。,窗体,窗体常用属性 窗体具有很多属性,在Visual c#.net中大多数控件都有这些属性,其设置方法相同,含义基本上相同。 (1)Name属性 指定窗体的名称,在程序中就用该名字表示该窗体,它只能在属性窗口中被修改,在代码中不能被修改。在项目中,建立的第一个窗体名称缺省为Form1,第二个窗体缺省为Form2,以此类推。在为窗体命名时,最好取一个见名思义的名字,如mainForm(Form表示该名字是一个窗体的名字,main表示是主窗体),这样程序的可读性就好,以后要修改或者维护就更容易。,窗体,(2)Text属性 该属性用来设置或返回窗体的标题栏上的文本内容。 (3)Size, Width,Height属性 这三个属性用于确定窗体的宽度和高度,包括窗体了标题栏和四周边框的宽度和高度,都是以象素为单位。Size属性是一个结构类型(具体请参照项目二有关内容),包括窗体的高度和宽度,Width属性表示窗体的宽度,Height属性表示窗体的高度。,窗体,例如: this.Size = new Size(306, 301); 将窗体的宽和高设置为306象素和301象素。,窗体,(4)Location、Left、Top属性 Location属性用于指定窗体在屏幕上的显示位置, 一般和StartPosition属性配合使用,只有当StartPosition属性设置为Manual时,窗体才按Location属性值的位置显示窗体。 该属性是一个结构类型(具体请参照项目二有关内容),包括窗体左上角的横坐标和纵坐标位置,Left属性表示窗体距离屏幕左侧的宽度, Top属性表示窗体距离屏幕上端的高度。也可以由这两个属性设置窗体的显示位置。,窗体,this.Location = new Point(200, 100); 等价于: this. Left200; this.Top=100; 功能将窗体显示在屏幕上的(200,100)位置出,该位置是窗体的横坐标和纵坐标定位的位置。,窗体,(5)StartPosition属性 该属性用来指定指定程序运行时窗体的显示的起始位置。该属性有多个取值,具体含义如表1-2:,窗体,(6)BackColor属性 该属性用来指定窗体的背景颜色。 例如: this. BackColor= System.Drawing.Color.Red; 作用是将窗体的背景颜色设置为红色,这里用到了Color结构体类型,该类型是System.Drawing下系统定义好的一个结构体类型,可以直接拿过来用。 (7)ForeColor属性 该属性用来指定窗体的前景颜色。用法和BackColor属性相同。,窗体,(8)Cursor属性 该属性用于确定鼠标在该窗体上的的鼠标形状,默认值Default。使用语法如下: 对象名.Cursor= System.Windows.Forms.Cursors.Value; 该属性有多个取值. 例如: this.Cursor=System.Windows.Forms.Cursors. Hand; 该语句含义是将鼠标移动到窗体上时,光标将变成手形。,窗体,(8)BackgroundImage属性 该属性用于指定窗体的背景图片,在属性窗口上设定该属性时,可以单击该属性右边的按钮,然后根据出现的对话框进行设置即可。 (9)MaximizeBox(最大化按钮)、MinimizeBox(最小化)属性 用于指定窗体是否显示最大化、最小化按钮,只有这两个属性同时设置为False时,窗体上才不会显示这两个按钮,只有一个设置为False时,窗体会显示这两个按钮,只不过设置为False的按钮不可用。,(10)ControlBox属性 该属性用于指定窗体是否显示“控件/系统”菜单框。如图,(11)WindowState属性 该属性用于表示程序运行时窗体的显示状态,该属性有多个取值,具体含义如表1-4:,窗体,窗体常用方法 (1)Show和ShowDialog方法 Show方法用于显示无模式窗体,ShowDialog将窗体显示为模式对话框窗体,所谓模式对话框窗体即只有对当前的窗体作出响应后才能切换到其后的窗体,而无模式窗口能在两个窗体间任意切换。这两个方法的使用格式为: 窗体名.Show(); 窗体名.ShowDialog();,窗体,例1.1该程序实现显示模式对话框窗体与非模式窗体。 窗体设计界面如图1-25,这里要创建2个窗体。,窗体,例1.1该程序实现显示模式对话框窗体与非模式窗体。 窗体设计界面如图1-25,这里要创建2个窗体。,窗体,运行界面如图1-26所示(主窗体和图1-25左图相同,没有列出),在主窗体中当单击“show方法”按钮时,出现如图1-26左图所示窗体,此时可以在该窗体和主窗体之间来回切换,当在主窗体上单击“ShowDialog方法”按钮时,出现如图1-26右图所示窗体,此时不能在该窗体和主窗体之间来回切换,只有关闭该窗体后才能回到主窗体上。,窗体,设计和编写代方法如下: 步骤1:创建C# windows程序后,会自动创建一个Form1窗体,我们要为该项目添加一个窗体,在Visual Studio C#开发环境中选择【项目(P)】|【添加windows窗体(F).】菜单,出现如图1-27所示界面,选择“windows窗体”选项,可以为添加的窗体改名,单击确定按钮即可。,步骤2:窗体按默认名称,按表1-5设置窗体和各控件的属性:,步骤2:窗体按默认名称,按表1-5设置窗体和各控件的属性:,窗体,步骤3:为控件编写事件处理方法 为Form1上的“Show方法”按钮编写单击事件处理方法,代码如下: private void buttonFormShow_Click(object sender, EventArgs e) Form2 formShow = new Form2(); /创建Form2的窗体对象 formShow.Text = “非模式状态“;/为窗体对象标题栏设置信息 formShow.Show(); /显示非模式窗体 ,窗体,为Form1上的“ShowDialog方法”按钮编写单击事件处理方法,代码如下: private void buttonFormShowDialog_Click(object sender, EventArgs e) Form2 formShowDialog= new Form2(); formShowDialog.Text = “模式对话框状态“; formShowDialog.ShowDialog(); ,窗体,在开发环境中添加的窗体Form2是一个窗体类,要显示这个窗体,必须用new创建这个窗体类的对象,然后才能显示窗体,这两个方法都是创建了Form2窗体对象,用了两种方式来显示窗体。 为Form1上的“关闭”按钮编写单击事件处理方法,代码如下: private void button1_Click(object sender, EventArgs e) Close(); ,窗体,(2)Hide和Close方法 Hide方法用于隐藏窗体,而Close方法用于关闭窗体,使用这两个方法时,所观测到的效果都是窗体会消失。但要注意这两个方法的区别,当用Hide方法隐藏窗体时,窗体实际上还在内存中,此时可以用show方法将窗体重新显示出来,如果用Close方法关闭窗体时,则此窗体的资源已被释放,窗体已经不在内存中了,不能直接用Show方法将其显示出来。,窗体,(2)Hide和Close方法 Hide方法用于隐藏窗体,而Close方法用于关闭窗体,使用这两个方法时,所观测到的效果都是窗体会消失。但要注意这两个方法的区别,当用Hide方法隐藏窗体时,窗体实际上还在内存中,此时可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年规划投资专业考试题库及答案
- 2025年广西中小学教师招聘考试教育综合知识试题及答案解析
- 化验员基础考试题及答案
- 芜职美育课考试题及答案
- 东北三省二模考试试题及答案
- 《科目一》机动车驾驶员考试试题与参考答案(2025年)
- 人力六大模块笔试题及答案
- 心力衰竭中医护理试题及答案2025年解析
- 渠道经理笔试题库及答案
- 2025年一建建筑工程真题答案21
- 北京市西城区2024-2025学年高三上学期期末考试英语试卷
- 外科护理学(第七版)复习试题有答案
- 土建施工技术、工艺、重点、难点分析和解决方案
- 钣金生产车间安全培训
- 关于有两个孩子的离婚协议书(2025年版)
- 2025年江门楼盘统计表
- 《财务大数据分析》教案
- 颅脑CT检查技术讲解
- 电机维修工作流程
- 新型领域安全的主要内容
- 服务效率与服务质量的双赢策略
评论
0/150
提交评论