资源预览内容
第1页 / 共149页
第2页 / 共149页
第3页 / 共149页
第4页 / 共149页
第5页 / 共149页
第6页 / 共149页
第7页 / 共149页
第8页 / 共149页
第9页 / 共149页
第10页 / 共149页
亲,该文档总共149页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏C#.net程序设计程序设计 课件中是以课件中是以vs2005为界面介绍的,开发环境如果是为界面介绍的,开发环境如果是vs2008或或vs2010,操作方法都基本一致,开发环境只是界面有少许不同,基本,操作方法都基本一致,开发环境只是界面有少许不同,基本知识相同,不影响读者学习本课程。知识相同,不影响读者学习本课程。课件配套教材:课件配套教材:c#.net程序设计程序设计出版社:浙江大学出版社出版社:浙江大学出版社 主编:黎浩宏主编:黎浩宏课件例子源代码下载网址:或在百度搜索:“c#.net程序设计配套源代码(前三章)程序设计配套源代码(前三章)”c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏用用Visual C#.net创建简单的创建简单的windows应用程序应用程序 工作任务工作任务 使用Visual C#.net集成开发环境开发简单的windows应用程序c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏模块模块1 创建并运行创建并运行 windows应用程序应用程序o一、教学目标一、教学目标o熟悉Visual C#.net集成开发环境创建windows应用程序的步骤o二、工作任务二、工作任务o在使用实际的应用程序时,经常会有提示信息提示软件的使用者怎样操作所使用的软件,我们现在创建一个应用程序,显示提示信息 。其窗口如图1-1左图所示,当单击“提示信息”按钮时,显示如图1-1右图所示。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏(二)创建(二)创建c#.net windows应用程序应用程序o(1) 在Visual Studio 2005集成开发环境中,选择【文件】|【新建】|【项目】|【microsoft visual studio 2005】菜单,将会弹出“新建项目”对话框,如图1-3所示。o(2)在左侧的“项目类型”区域选择树型节点中的visual c#中的windows,o(3)在右侧“模板”区域选择“windows应用程序”。o(4)设定项目保存位置,可以单击“浏览”按钮改变该项目保存的位置,选择好项目保存的位置后,回到该对话框,单击“确定”按钮即可,此时将出现如图1-4的界面o此界面自动会出现一个标题栏为”Form1”的窗体,此窗体的名称其实也是form1,以后我们将称之为Form1窗体,不再赘述。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏(三)向窗体添加控件(三)向窗体添加控件o在图1-4所示的Form1窗体中添加一个label(标签)控件和一个button(按钮)控件,具体方法如下:o默认情况,Visual studio 2005 c#.net集成开发环境界面中,工具箱窗口是隐藏的,此时将鼠标指向左侧的工具箱图标,工具箱窗口自动显示,如图1-5。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏(三)向窗体添加控件(三)向窗体添加控件o(2)展开“公共控件”节点,如图1-5所示,选中Button控件,拖到Form1窗体上,再选中Label控件,拖到Form1窗体上,当鼠标离开工具箱窗口时,工具箱窗口将自动隐藏,停靠在集成开发环境的左侧。o(3)将Form1窗体上的标签对象和按钮对象用鼠标拖动到合适位置,其设计界面如图1-6所示。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏(四)设置标签和按钮的属性(四)设置标签和按钮的属性o此时我们可以看到,标签和按钮对象上显示的都是英文,我们要设置这两个对象显示的信息为我们指定的中文,就必须分别设置其对应的属性。方法如下:o1)在Form1窗体上选中label1标签(因为该标签的名称为label1,这里称之为label1标签),此时在标签的周围有一个矩形虚线框。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏(四)设置标签和按钮的属性(四)设置标签和按钮的属性o2)在Visual studio 2005 c#.net集成开发环境中的右下角中的属性窗口中(如果属性窗口没出现,可以使用【视图(V)】|【属性窗口(W)】菜单显示属性窗口),拖动属性窗口右侧垂直滚动条,选中Text属性,在Text属性右侧输入“我的第一个应用程序!”,如图1-7所示o3)按钮上的显示信息和标签的设置方法类似。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏说明:也可以在属性窗口中选择label1标签或button1按钮,见图1-7图中说明。Text属性含义为控件上显示的文本内容 c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏(五)编写单击按钮事件处理方法(五)编写单击按钮事件处理方法o在Form1窗体上,双击button1按钮(因为该按钮的名称为button1,这里称之为button1按钮),Visual studio 2005 c#.net开发环境将进入代码编辑器环境,光标自动定位在button1按钮的单击事件处理方法button1_Click中,只要输入如图1-8所示的代码即可。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏o说说明明:button1_Click是button1按钮鼠标单击事件处理方法,在运行该项目时,只要单击了该按钮,button1_Click事件处理方法中的所有代码(即该事件处理方法下面的“”和“”内的代码,这里只有一行代码)会 被 计 算 机 自 动 运 行 , 而 代 码 MessageBox.Show(欢迎使用c#.net语言开发软件!, 提示信息);的作用是显示如图1-1右侧的信息框,其作用是将信息框的标题设置为“提示信息”,信息框显示的信息设置为“欢迎使用c#.net语言开发软件!。注意,该行代码最后要有分号。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏(六)保存项目(六)保存项目o选择【文件(F)】|【全部保存(L)】菜单c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏(七)运行程序(七)运行程序o此时该程序的全部工作已经完成,选择【调试(D)】|【启动调试(S)】菜单,也可以单击工具栏上的“”按钮,此时会出现如图1-1所示的左侧窗体,单击窗体的“提示信息”按钮时,将会出现图1-1右侧的信息提示框。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏(八)结束程序(八)结束程序o依次单击提示信息框和程序窗体的右上角的关闭按钮,也可以在Visual studio 2005开发环境中,选择【调试(D)】|【停止调试(E)】菜单。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏Visual Studio 2005简介简介oVisual 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环境下运行,c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏Visual Studio 2005简介简介o为有别于Visual Studio 6.0之前的语言,我们称之为C#.net, Visual Basic .NET、Visual C+ .NET语言。用.NET语言编写的程序必须在机器上安装好.NET Framework后方可运行,.NET Framework可以到微软官方网站上下载,Visual Studio 2005 .NET Framework是2.0版本,o而Visual Studio 2003 .NET Framework是1.0版本。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏Visual Studio 2005简介简介o.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)即时编译。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏Visual Studio 2005简介简介o.NET Framework类库是Microsoft已经编写好的一个内容丰富的受管制的类代码集合,它可以完成以前要通过Windows API来完成的绝大多数任务,使程序员从烦琐的API函数调用中解脱出来,专心于应用程序事务的处理。o.NET Framework使我们可以更容易的开发基于Web和基于Windows应用程序,允许使用不同的语言一起进行开发工作。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c#概述概述oc#语言从C和C+发展而来,其语法和C、C+、Java的语法很多都相同。它汲取了包括C、C+、Java在内的多种语言的精华,是一种简单、完备、类型安全和完全面向对象的高级程序设计语言,C#是专门为.NET应用而开发的语言,与.NET框架完美结合。使用C#可以创建传统的Windows客户端应用程序、XML Web Service、分布式组件、客户端/服务器应用程序、数据库应用程序等。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏Visual Studio 2005开发环境开发环境o起始页起始页o起始页界面可以参考图1-2,包括“最近的项目”、“开始”、“Visual Studio标题新闻”、“Visual Studio开发人员新闻”四项内容,在“最近的项目”中可以方便地打开或新建项目和网站,在“开始”中可以选择感兴趣的内容进行入门学习,另外两项可以查看相应地新闻。如果你的界面没有“起始页”,若要显示“起始页”,可以选择【视图(V)】|【其他窗口(E)】|【起始页(G)】菜单。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏Visual Studio 2005开发环境开发环境o解决方案资源管理器窗口解决方案资源管理器窗口 o解决方案资源管理器窗口如图1-9所示,用于管理和监控解决方案中的项目,提供项目及其文件的有组织的视图,并且提供对项目和文件相关命令的便捷访问。o如果集成环境中没有出现该窗口,可通过选择【视图(V)】|【解决方案资源管理器(W)】菜单来显示该窗口。 c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏Visual Studio 2005开发环境开发环境o在解决方案资源管理器窗口中包含有6个按钮,如图1-10所示,常用的有4个按钮。分别是“属性”、“显示所有文件”、“查看代码”和“查看设计器”按钮。n单击“属性”按钮,可以切换到属性窗口中n单击“显示所有文件”按钮,在该窗口中的树型视图中将列出所有的文件和包含的文件夹。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏Visual Studio 2005开发环境开发环境n单击“查看代码”按钮,将切换到代码编辑器窗口,代码编辑器窗口可以参考图1-8。n单击“查看设计器”按钮,将切换到窗体设计器窗口,窗体设计器窗口可以参考图1-6c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏工具箱窗口工具箱窗口n“工具箱”窗口如图1-10所示。初始时,工具箱是隐藏在Visual Studio 2005集成开发环境窗口的左侧,可以参考图1-5。n如果在如果集成环境中没有出现该窗口,可以通过选择【视图】【工具箱】菜单来显示该窗口。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏工具箱窗口工具箱窗口n在“工具箱”窗口中用树型视图存放了开发.NET windows应用程序和开发asp.net网页的常用控件,“工具箱”窗口已经为软件开发人员将Visual Studio 2005集成开发环境提供的控件分好了类,软件开发人员可以非常方便的利用工具箱中的各种控件,快速方便的开发应用程序。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏工具箱窗口工具箱窗口n在“工具箱”窗口中,可以单击对应树型节点左侧的+号按钮,展开显示相应节点所包含的控件。图1-10右图即为“公共控件”节点包含的部分控件。n在设计窗体时,要将所需的控件添加到窗体中,有下面两种方法:c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏工具箱窗口工具箱窗口n单击相应的控件图标,拖动控件到窗体中,然后在窗体中拖动控件到合适位置。n双击相应的控件图标,控件会被自动放到窗体中,此方法适合在窗体中放置多个控件,然后可以在窗体中拖动控件到合适位置,设计符合自己意图的界面。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏4属性窗口属性窗口n“属性”窗口如图1-11所示,使用该窗口可以编辑和查看文件、项目以及解决方案属性,“属性”窗口最常用的功能是在设计windows应用程序窗体时查看和修改被选中的控件对象的属性和事件。为所选控件对象设置属性非常简单,其方法可参考本模块的相关实践知识中的“(四)设置标签和按钮的属性”中的相关设置方法。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏4属性窗口属性窗口n下面介绍控件对象的事件设置方法。为所选控件设置事件有两种方法。n双击控件,可以为控件添加默认的事件,但每个控件的默认事件并不相同,所以在不熟悉的情况下尽量不用要这种方法,如双击按钮,将为按钮添加按钮单击事件。n在“属性”窗口中设置控件事件。先选中控件,然后在属性窗口中单击“事件”按钮,将出现如图1-12所示的窗口,用鼠标双击相应的事件即可为此控件添加相应事件。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏5窗体设计器窗口窗体设计器窗口n该窗口用来设计应用程序的界面,如图1-13所示,用户可以从工具箱中把各种控件添加到窗体上来,并安排它们的布局。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏6代码编辑器窗口代码编辑器窗口n代码编辑器窗口见图1-8。在代码编辑器窗口时,“工具箱”窗口上不会显示相应控件图标。在创建一个新的项目时,只有一个窗体,将看不到如图1-13所示的窗体代码选项卡,要显示代码编辑器窗口,可以有下面两种方法:n(1)在窗体上,单击右键,选择【查看代码(C)】菜单n (2)单击“解决方案资源管理器”窗口的“查看代码”按钮c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏6代码编辑器窗口代码编辑器窗口n同样,从代码编辑器窗口切换到窗体设计器窗口,也可以有下面两种方法:n(1)在代码编辑器上,单击右键,选择【查看设计器(D)】菜单n (2)单击“解决方案资源管理器”窗口的“查看设计器”按钮c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏6代码编辑器窗口代码编辑器窗口n在代码编辑器窗口编写代码时,默认情况下,没有显示行号,要设置行号,可以用以下方法实现:n(1)选择【工具(T)】|【选项(O).】,出现如图1-14所示界面n(2)在左侧树型视图中,选择“文本编辑器”节点,选中“c#”,在右侧的下方,选中复选钮“行号”,单击“确定”按钮即可c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏7改变改变Visual studio 2005集成开集成开发环境中窗口的显示发环境中窗口的显示n在Visual studio 2005集成开发环境中,我们可以看到“工具箱”窗口被自动隐藏了,用一个按钮方式显示在Visual studio 2005集成开发环境中的左侧。而属性窗口以及“解决方案资源管理器”窗口没有隐藏,其实这两个窗口目前处于停靠的状态,可以看到这两个窗口“自动隐藏”按钮象一个图钉,图钉是向下的,这种状态是停靠状态,当单击“自动隐藏”按钮时,相应的窗口将会自动隐藏。可以通过单击“自动”隐藏按钮实现窗口是否是隐藏状态。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏7改变改变Visual studio 2005集成开集成开发环境中窗口的显示发环境中窗口的显示n在Visual studio 2005集成开发环境中,常用的有“工具箱”、“解决方案资源管理器”、“属性”窗口等,其实,这些窗口可以被用户自由的放置在用户想要的位置。这里说明属性窗口位置的设置方法,其余窗口设置方法相同。其方法如下 c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏7改变改变Visual studio 2005集成开集成开发环境中窗口的显示发环境中窗口的显示n (1)鼠标拖动“属性”窗口的标题栏,拖动“属性”窗口到Visual studio 2005集成开发环境窗口中间,此时在Visual studio 2005集成开发环境窗口中间会出现一个菱形标志。n(2)在拖动“属性”窗口的同时,鼠标在相应按钮上,当出现蓝色背景时,如图1-15所示,放开鼠标,“属性”窗口将会停靠在指示的位置。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏7改变改变Visual studio 2005集成开集成开发环境中窗口的显示发环境中窗口的显示n默认情况,“属性”窗口是放置在“解决方案资源管理器”窗口的下方,如果要将“属性”重新放到“解决方案资源管理器”窗口下方,只要将“属性”窗口拖到“解决方案资源管理器”窗口中间,当“解决方案资源管理器”窗口中间出现菱形标志时,按相同的方法操作即可。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏8Visual c#.net windows项目有项目有关操作和项目相关文件关操作和项目相关文件n(1)创建Visual c#.net windows项目将产生的文件n创建项目后,Visual c#.net将会自动以解决方案名创建一个文件夹,在该文件夹下,包含Visual c#.net windows项目产生的相关文件和文件夹。详细说明如表1-1 c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏文件(夹)名称说明bin文件夹包含debug子文件夹,含有.exe和.pdb文件,.exe文件是生成的可执行文件,.pdb文件包含完整的调试信息obj文件夹包含debug子文件夹,含有编译过程中生成的中间代码properties文件夹此文件包含程序集属性的设置program.cs文件应用程序文件,包含应用程序代码Form1.cs文件窗体代码文件,包含窗体代码c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏文件(夹)名称说明Form1.Designer.cs文件与窗体及控件有关文件,该文件中的代码是用户设计界面时由系统自动产生的,一般情况下不要改动WindowsApplication1.csproj项目文件WindowsApplication1.csproj.user文件用户配置文件WindowsApplication1.sln文件解决方案文件c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏8Visual c#.net windows项目有项目有关操作和项目相关文件关操作和项目相关文件n(2)创建项目 n创建项目可以参考本模块的相关实践知识的步骤,不再赘述。n(3)保存项目n 在创建好项目后,可以选择【文件(F)】|【全部保存(L)】菜单保存项目,也能在标准工具栏上单击“全部保存”按钮实现保存项目。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏8Visual c#.net windows项目有项目有关操作和项目相关文件关操作和项目相关文件n(4)打开项目n当要打开已经创建好的项目时,记住,要选择.sln文件才可以打开项目,可以用以下4种方法打开项目:n在起始页中,选择“最近的项目”中相应的选项。n在Visual Studio 2005环境中,选择【文件(F)】|【打开(O)】|【项目/解决方案(P).】菜单。n在Visual Studio 2005环境中,选择【文件(F)】|【最近的项目(J)】菜单,在下一级菜单项中再选择相应的菜单。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏8Visual c#.net windows项目有项目有关操作和项目相关文件关操作和项目相关文件n(4)打开项目n当要打开已经创建好的项目时,记住,要选择.sln文件才可以打开项目,可以用以下4种方法打开项目:n在起始页中,选择“最近的项目”中相应的选项。n在Visual Studio 2005环境中,选择【文件(F)】|【打开(O)】|【项目/解决方案(P).】菜单。n在Visual Studio 2005环境中,选择【文件(F)】|【最近的项目(J)】菜单,在下一级菜单项中再选择相应的菜单。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏8Visual c#.net windows项目有项目有关操作和项目相关文件关操作和项目相关文件n当用Visual Studio 2005环境打开已有的项目时,如果看不到项目的设计窗体,可以在“解决方案资源管理器”窗口中双击对应的窗体代码文件节点项(如Form1.cs)即可看到相应的窗体。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏9Visual Studio 2005环境的三种环境的三种状态状态nVisual Studio 2005环境可以有三种状态,当用户在设计窗体界面和编写代码时,处于设计时;当用户在运行项目程序时,处于运行时, Visual Studio 2005环境窗口的标题栏上有“正在运行”字样出现;当用户在调试项目程序时Visual Studio 2005环境窗口的标题栏上有“正在调试”字样出现。显然,在运行和调试项目程序时,用户是不可以修改代码和设计窗体界面的,当修改代码时,会出现错误提示框,请参考图1-16。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n工作任务工作任务n设计的应用程序的窗体如图1-17左图所示,运行程序时,当单击“隐藏窗体”按钮,窗体被隐藏,会显示一个信息框,如图1-17右图所示;当单击信息框的“确定”按钮,信息框消失,窗体同时被显示;当在文本框上输入数值,单击“求平方”按钮,在窗体上会显示相应数值的平方数;当单击“关闭窗体”按钮,窗体被关闭,同时结束应用程序。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n(一)设计窗体及相关控件属性(一)设计窗体及相关控件属性n该步骤即为模块1的第3、4步,启动visual studio 2005开发工具和创建c#.net windows应用程序方法见本项目的模块1相关实践知识,在以后的模块中这两步不再赘述,都直接从设计窗体及相关控件属性步骤开始说明c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏n1设计窗体界面设计窗体界面n窗体设计界面如图1-18所示,c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n2添加控件和设置控件属性添加控件和设置控件属性n窗体上共添加2个标签(Label),3个按钮(Button),一个文本框控件(TextBox)。为方便描述设计窗体方法,以后全部用表1-2格式进行说明,如文本框(TextBox)控件,所对应是“工具箱”窗口中的“公共控件”中的TextBox控件。 c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏控件控件类型型属性属性属性属性设置置值label(标签)Namelabel1Text文本框输入值的平方是:label(标签Namelabel2Textlabel2TextBox(文本框)NametextBox1Button(按钮)NamebuttonHideSelfText隐藏窗体Button(按钮)NamebuttonCloseText关闭窗体Button(按钮)Namebutton1Text求平方c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n3设计窗体上控件的布局设计窗体上控件的布局n在图1-18中,我们可以看到“关闭窗体”按钮明显和其他两个按钮不在同一行上,当然可以用鼠标将该按钮手动拖动到和其余两个按钮的在同一行中。n这里介绍利用“布局”工具栏的方法设置窗体上控件的布局方式。布局工具栏各按钮功能如图1-19所示。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n将窗体上三个按钮水平对齐设置方法如下:n选中这三个按钮,可以先选中第一个按钮,然后按住ctrl键不放,鼠标依次单击另外两个按钮,也可以在窗体上用鼠标从第一个按钮的左上方向第三个按钮的右下方拖动,当出现的虚线框包含这三个按钮时放开鼠标即可。n布局工具栏上的各个按钮由灰色不可用状态变为可用状态时,单击“底部对齐”或“顶部对齐”按钮。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n 4设计程序运行时窗体上的控件获得焦点的设计程序运行时窗体上的控件获得焦点的顺序顺序n 当运行程序时,如果窗体上的控件很多,用键盘操作将是比较方便的,按tab键,就可以将焦点自动定位到后面的控件上。要设置控件获得的焦点顺序,就必须设置控件的TabIndex属性,该属性是控件的Tab顺序索引。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n在添加控件时,该属性值将由Visual c#.Net自动分配一个值,其序号是由0开始顺序分配的,如添加的第一个控件的TabIndex属性值为0,第二个控件的TabIndex属性值为1,以此类推。在运行程序时,TabIndex属性值为0的控件将自动获得焦点,按Tab键,焦点将会定位到TabIndex属性值为1的控件,以此类推。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n设置控件TabIndex属性值可以在属性窗口中进行设置,但非常繁琐,这里介绍使用布局工具栏上“tab键顺序”按钮的方法进行设置,使用起来非常方便。n(1) 选中窗体或窗体上的任何控件,单击“布局”工具栏上“tab键顺序”按钮(也能选择【视图(V)】|【tab键顺序(B)】菜单),在每个控件左上角上将出现蓝底的数字,该数字即为对应控件的TabIndex属性值,如图1-20所示界面。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n(2) 第一次单击程序运行时要获得焦点的控件,然后按照控件获得焦点的次序依次单击对应的控件,设计完成后,单击“布局”工具栏上“tab键顺序”按钮(也能选择【视图(V)】|【tab键顺序(B)】菜单),每个控件左上角上出现的蓝底数字消失即可。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n说说明明:有一些控件在程序运行时是不能获得焦点的,如标签不能获得焦点。其实能获得焦点的控件都有一个属性“TabStop”属性,不能获得焦点的控件没有这个属性,如标签就没有。只有将“TabStop”属性设置为True的控件,在运行程序时,按Tab键才能获得焦点。控件的“TabStop”属性值默认是True。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n5锁定控件和窗体锁定控件和窗体n当设计好窗体后,如果不允许在修改窗体上控件的设计效果,即不允许改变控件在窗体上的位置,可以锁定控件或窗体,只要选择窗体或窗体上的任何控件,右击鼠标在弹出的菜单上选【锁定控件】菜单即可,此时可以看到你选中的窗体或窗体上的控件左上角有一个锁的图标,这时你将不能改变控件在窗体上的位置。解除锁定的方法和锁定的方法相同,不再赘述。默认情况下,窗体和控件没有被锁定。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n(二)编写事件处理程序(二)编写事件处理程序n1编写窗体的编写窗体的Load事件处理方法事件处理方法n 程序代码如下:nprivate void Form1_Load(object sender, EventArgs e)nn textBox1.Text = 5; /将文本框textBox1上信息设置为5n label2.Text = 25; /将标签label2的显示内容设置为25n this.Text = 显示和隐藏窗体; /设置窗体的标题显示信息nc程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n只只要要双双击击窗窗体体,或或者者通通过过属属性性窗窗口口为为form1窗窗 体体 添添 加加 Load事事 件件 , 即即 会会 自自 动动 生生 成成Form1_Load事事件件的的代代码码框框架架,即即1、2、6行行是是Visual c#.net 环环境境自自动动生生成成的的,我我们们只要输入只要输入3、4、5行代码。行代码。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n窗体的Load事件发生在窗体加载到内存时发生,即Load事件内的代码会被执行,这里就是3、4、5行代码会被执行。可以这样理解,在窗体在屏幕上显示之前,Load事件会发生,该事件中的代码都会被执行。一般将程序的初始化代码放在Load事件中进行处理。图1-17是程序运行界面,窗体标题栏是“显示和隐藏窗体”,而图1-18是程序设计界面,窗体标题栏是“Form1”,就是因为Load事件发生了,显示的窗体标题栏信息和设计时窗体标题栏信息不相同的原因。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n2编写编写“隐藏窗体隐藏窗体”按钮单击事件处理方法按钮单击事件处理方法nprivate void buttonHideSelf_Click(object sender, EventArgs e)n n this.Hide(); /隐藏窗体n MessageBox.Show(单击确定按钮,使窗体重新显示!,信息框);n this.Show(); /显示窗体nn其中Hide和Show都是窗体的方法,分别用于隐藏和显示窗体。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n3编写编写“关闭窗体关闭窗体”按钮单击事件处理方法按钮单击事件处理方法nprivate void buttonClose_Click(object sender, EventArgs e)n n Close(); n nClose方法用于关闭窗体,该方法也是窗体的方法。这里在Close前其实是省略了this,c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n4编写编写“求平方求平方”按钮事件单击处理方法按钮事件单击处理方法nprivate void button1_Click(object sender, EventArgs e)nn float a, b; /定义两个单精度实数变量a,bn a = Convert.ToSingle(textBox1.Text);n b = a * a; n label2.Text= Convert.ToString(b);nc程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体的简单应用窗体的简单应用 n第4行代码中,Convert.ToSingle方法表示ToSingle方法是Convert类的一个方法,作用是将括号内的内容转化为单精度实数,这里就是将textBox1.Text(即文本框中输入的信息)转化为实数,由于textBox1.Text是字符串数据,要将它转化为实数才能赋值给a。Convert.ToString方法的作用表示将其括号中的内容转化为字符串。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n(一)(一)Visual c#.net的基本概念的基本概念n1可视化编程可视化编程nVisual c#.net 2005采用可视化编程方法,软件开发人员可以在集成开发环境中通过控件来创建对象,通过属性窗口为每个控件设置属性,只要编写相应的用户动作的事件处理程序, 很多工作由系统自动完成,大幅度的减少了软件开发人员编写代码的工作量,可以快速创建强大的应用程序。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n2类类nC是面向对象(是面向对象(Object-Oriented Programming,OOP)的程序设计语言。类是面)的程序设计语言。类是面向对象的基本概念,类(向对象的基本概念,类(class)就是对具有相同特征就是对具有相同特征的一类事物所做的抽象(或者说,归纳)。是对同一的一类事物所做的抽象(或者说,归纳)。是对同一种对象的统称,是一个抽象的整体概念。如种对象的统称,是一个抽象的整体概念。如“汽车汽车”、“书书”、“电视机电视机”、“人人”等等都是我们抽象出来等等都是我们抽象出来的某个类的概念。的某个类的概念。n如在如在Visual c#.net设计环境中,设计环境中,“工具箱工具箱”窗口中窗口中包含的包含的Label1,TextBox,Button等控件其实都是等控件其实都是类。类。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n3对象对象n类是一种抽象,而对象(类是一种抽象,而对象(object)则是实例则是实例(instance),是具体的。如,是具体的。如“书书”是类,这是一个是类,这是一个统称,而如果你自己拥有两本书,假设为统称,而如果你自己拥有两本书,假设为c#程序设程序设计、大学英语是具体的两本书,这两本书就是计、大学英语是具体的两本书,这两本书就是“书书”的对象。再如建造的对象。再如建造5幢居民楼房子前,要先有设幢居民楼房子前,要先有设计图,设计图包括房子的格局,设计图就是计图,设计图包括房子的格局,设计图就是“类类”,而建造的而建造的5幢具体的居民楼房子则是对象,它们都有相幢具体的居民楼房子则是对象,它们都有相同的格局。同的格局。n如模块如模块2中的窗体上的中的窗体上的“隐藏窗体隐藏窗体”、“关闭窗体关闭窗体”、“求平方求平方”三个按钮就是按钮对象。是具体存在窗体三个按钮就是按钮对象。是具体存在窗体上的。上的。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n4属性属性n属性说明了类具有的特点、性质。如每个人都属性说明了类具有的特点、性质。如每个人都有脸、眉毛、眼睛,脸、眉毛、眼睛就是人的有脸、眉毛、眼睛,脸、眉毛、眼睛就是人的属性,而人就是类,属性,而人就是类, 具体的每个人都可以从具体的每个人都可以从这些方面来描述。如果有两个人张三、王珊,这些方面来描述。如果有两个人张三、王珊,这两个人就是人这个类的两个具体的对象。如这两个人就是人这个类的两个具体的对象。如张三的脸是长脸,眉毛是浓眉,眼睛是眼皮,张三的脸是长脸,眉毛是浓眉,眼睛是眼皮,而王珊的脸是瓜子脸,眉毛是柳叶眉,眼睛是而王珊的脸是瓜子脸,眉毛是柳叶眉,眼睛是双眼皮。双眼皮。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n用用c#语言格式来说明张三的特点,就用下列方式:语言格式来说明张三的特点,就用下列方式:n张三张三. 脸脸=长脸长脸;n 张三张三.眉毛眉毛=浓眉;浓眉;n 张三张三.眼睛单眼皮;眼睛单眼皮;n 同理,王珊的这三个特点也要用上面的格式来说明。同理,王珊的这三个特点也要用上面的格式来说明。用用“.”来描述属性是哪个对象的属性,来描述属性是哪个对象的属性,“张三张三. 脸脸”表示张三的脸,表示张三的脸,“王珊王珊.眼睛眼睛”表示王珊的眼睛。表示王珊的眼睛。“.”可以理解为可以理解为“的的”的含义,如的含义,如textBox1.Text表示是表示是textBox1的的Text属性。属性。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n引用属性的格式如下:引用属性的格式如下:n 对象名对象名.属性名属性名n可以设置或者获取属性值。其中控件的属性设置方法可以设置或者获取属性值。其中控件的属性设置方法有两种方式:有两种方式:n(1)在属性窗口进行设置,没有做特别要求且能够实)在属性窗口进行设置,没有做特别要求且能够实现功能时,建议尽量用该方法。现功能时,建议尽量用该方法。n(2)用代码方式,要用赋值语句,其格式如下:)用代码方式,要用赋值语句,其格式如下:n对象名对象名.属性名属性值;属性名属性值;n如在本模块中,将文本框的显示信息设置为如在本模块中,将文本框的显示信息设置为“5”的代的代码如下:码如下:ntextBox1.Text = 5;c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n而获取属性值时,直接用以上格式,如可以在而获取属性值时,直接用以上格式,如可以在本模块窗体单击事件中写如下代码:本模块窗体单击事件中写如下代码:nprivate void Form1_Click(object sender, EventArgs e)n n this.Text=TextBox1.Text;nn运行程序时,当单击窗体时,窗体的标题栏显运行程序时,当单击窗体时,窗体的标题栏显示内容将设置为文本框的输入信息。示内容将设置为文本框的输入信息。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n 5方法方法n类的方法可以看作是类所具有的动作或行为。如人都类的方法可以看作是类所具有的动作或行为。如人都会吃菜、睡觉、走路,这三个动作就是人这个类的方会吃菜、睡觉、走路,这三个动作就是人这个类的方法。假设现在张三正在走路,王珊正在吃菜,吃的是法。假设现在张三正在走路,王珊正在吃菜,吃的是白菜,用白菜,用c#语言格式来说明这两个人现在的行为,就语言格式来说明这两个人现在的行为,就可以用下列格式:可以用下列格式:n 张三张三.走路();走路();n 王珊王珊.吃菜(白菜);吃菜(白菜);n 在调用某个对象的方法时,在调用某个对象的方法时,“.”可以理解为可以理解为“做做”的含义。用代码实现方法时,必须在方法后加上小括的含义。用代码实现方法时,必须在方法后加上小括号,小括号内的是参数。号,小括号内的是参数。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n调用方法的格式如下:调用方法的格式如下:n 对象名对象名.方法名(方法名(参数表参数表);n 或或n 类名类名.方法名(方法名(参数表参数表);n如在本模块中,显示窗体的代码如下:如在本模块中,显示窗体的代码如下:n this.Show();n 表示这个方法是表示这个方法是this(即当前窗体)对象(即当前窗体)对象“做做”的,的,换句话说就是显示当前窗体。换句话说就是显示当前窗体。n 而代码而代码“MessageBox.Show(单击确定按钮,使窗体单击确定按钮,使窗体重新显示!重新显示!,信息框信息框);”表示显示信息框,括号内表示显示信息框,括号内的参数用于定义信息框的标题和显示的信息,这里的参数用于定义信息框的标题和显示的信息,这里MessageBox是一个类名,即信息框类。是一个类名,即信息框类。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n 6事件事件n 事件是对象发送的消息,当用户执行一个操事件是对象发送的消息,当用户执行一个操作,如单击一个按钮,按一个键,就会发生一作,如单击一个按钮,按一个键,就会发生一个事件。该事件计算机能够识别,通常称之为个事件。该事件计算机能够识别,通常称之为触发了一个事件。如窗体的加载事件触发了一个事件。如窗体的加载事件(Load),鼠标移动事件(),鼠标移动事件(MouseMove)等等。等等。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n7事件方法事件方法n 事件方法其实就是一个特殊的方法,之所以事件方法其实就是一个特殊的方法,之所以称之为事件方法,是因为该方法和相应的事件称之为事件方法,是因为该方法和相应的事件进行了关联。当一个事件被触发时,该事件方进行了关联。当一个事件被触发时,该事件方法会被自动调用,也就是说事件方法中的代码法会被自动调用,也就是说事件方法中的代码会被计算机执行。如本模块中当单击会被计算机执行。如本模块中当单击“关闭窗关闭窗体体”按钮时,该按钮的按钮时,该按钮的Click事件会被触发,事件会被触发,相应的事件方法(即相应的事件方法(即buttonClose_Click方方法)中的法)中的“Close();”代码就会被自动执行。代码就会被自动执行。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n事件方法的定义格式如下:事件方法的定义格式如下:n private void 对象名对象名_事件名事件名(参数列表参数列表)n n ./这里需要软件开发人员编写事件处理程这里需要软件开发人员编写事件处理程序序n n 如:如:nprivate void buttonClose_Click(object sender, EventArgs e)n n Close(); n n就是由就是由“关闭窗体关闭窗体”按钮(按钮(buttonClose是是 “关闭关闭窗体窗体”按钮的名称)触发的按钮的名称)触发的Click事件,该事件方法只事件,该事件方法只能响应能响应“关闭窗体关闭窗体”按钮单击事件。按钮单击事件。 c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n(二)命名空间(二)命名空间n命名空间是命名空间是c#代码的基本组织形式,是组织代码的基本组织形式,是组织应用程序的一种结构,类、结构等各种类型定应用程序的一种结构,类、结构等各种类型定义都必须包含在命名空间中。义都必须包含在命名空间中。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n命命名名空空间间在在默默认认情情况况下下会会自自动动创创建建,命命名名空空间间的的名名字字就就是是项项目目名名,由由关关键键字字namespace声声明明,如如图图1-21中中的的第第8行行代代码码namespace WindowsApplication1,其其中中WindowsApplication1是是命命名名空空间间的的名名字字。命命名名空空间间中中的的代代码码都都必必须须包包含含在在一一对对大大括括号号“”和和“”之之中中。“”表表示示开开始始,“”表表示示结结束束,且且大大括括号号必必须须成成对对使使用用,少少了了任任何何一一个个都都会会出出错错。在在图图1-21中中,第第9行行的的“”表表示示命命名名空空间间由由此此开开始始,第第41行行的的“”表表示示命命名名空空间间到到此此结结束束,而而第第1040行行的的代代码码都属于命名空间都属于命名空间WindowsApplication1。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 nC#要要求求其其程程序序中中的的每每一一个个元元素素都都要要属属于于一一个个类类。如如图图1-21中中,程程序序的的第第10行行public partial class Form1 : Form代代码码声声明明了了一一个个类类,类类的的名名字字叫叫Form1,其其实实就就是是窗窗体体类类。我我们们可可以以看看到到,类类也也是是包包含含了了一一对对大大括括号号,大大括括号号的的内内容容就就是是这这个个窗窗体体类类的的代代码码,第第1140行中的所有内容都是窗体类的代码。行中的所有内容都是窗体类的代码。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 nC#程序是用命名空间来组织代码,类都存在程序是用命名空间来组织代码,类都存在命名空间中,要访问某个命名空间中的类或对命名空间中,要访问某个命名空间中的类或对象,必须用如下语法:象,必须用如下语法:n 命名空间命名空间.类名类名n如如System.Windows.Forms. MessageBox.Show(单击确定按钮,使窗体重新显示!单击确定按钮,使窗体重新显示!, 信息信息框框),MessageBox是一个类,是命名空间是一个类,是命名空间System.Windows.Forms中的一个类,中的一个类,而而Show只是只是MessageBox类的一个方法。类的一个方法。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n命命名名空空间间用用“.”(圆圆点点)来来说说明明命命名名空空间间的的层层次次,其其含含义义是是后后面面的的命命名名空空间间属属于于前前面面的的命命名名空空间间的的子子命命名名空空间间,如如System.Windows.Forms表表示示Forms命命名名空空间间是是Windows 命命名名空空间间的的子子命命名名空空间间,而而Windows 命命名名空空间间是是System命命名名空空间间的的子子命命名名空空间间。类类似似于于windows操操作作系系统统下下的文件夹组织结构,的文件夹组织结构,c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n如如C:Program FilesGoogle googletoolbar,文文件件夹夹下下可可以以包包含含子子文文件件夹夹,但但文文件件一一定定在在一一个个文文件件夹夹下下。同同理理,在在C中中,类类一一定定在在命命名名空空间间下下,而而命命名名空空间间可可以以包包含含子子命命名名空空间间。只只不不过过文文件件夹夹用用“”来来表表示示文文件件夹夹的的层层次次,命命名名空空间间用用“.”来来表表示示命命名空间的层次。名空间的层次。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n在在c#中,使用中,使用using关键字来导入命名空间,关键字来导入命名空间,如图如图1-21中,第中,第17行的代码都是导入命名行的代码都是导入命名空间。其实类空间。其实类MessageBox是是System.Windows.Forms命名空间中定命名空间中定义好的一个类,所以实际上用户在访问义好的一个类,所以实际上用户在访问MessageBox类时,完整的写法应该是:类时,完整的写法应该是:n System.Windows.Forms. MessageBox, c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏理论知识理论知识 n但但 是是 , 在在 程程 序序 的的 第第 一一 行行 , 使使 用用 了了 using System.Windows.Forms; 这这条条语语句句用用using语语句句导导入入System.Windows.Forms命命名名空空间间,这这样样 在在 本本 程程 序序 中中 可可 以以 直直 接接 使使 用用System.Windows.Forms命命名名空空间间中中的的类类或或对对象象,所所以以要要访访问问MessageBox类类,就就可可以以不不用用写写System.Windows.Forms,直接写直接写MessageBox即可。即可。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n在在Windows中,大多数用户界面都是由窗体中,大多数用户界面都是由窗体组成的。因此,大多数控件也是基于窗体的。组成的。因此,大多数控件也是基于窗体的。窗体是屏幕上被边框围住的一部分,它有标题窗体是屏幕上被边框围住的一部分,它有标题而且通常有一个系统菜单。窗体可以在屏幕上而且通常有一个系统菜单。窗体可以在屏幕上移动,可以关闭,可以最大化或最小化。移动,可以关闭,可以最大化或最小化。nVisual c#.net windows应用程序是从建应用程序是从建立窗体开始的,因此熟练掌握窗体的重要属性、立窗体开始的,因此熟练掌握窗体的重要属性、方法和事件,对于开发应用程序非常关键。方法和事件,对于开发应用程序非常关键。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n窗体常用属性窗体常用属性n窗体具有很多属性,在窗体具有很多属性,在Visual c#.net中大多数控件中大多数控件都有这些属性,其设置方法相同,含义基本上相同。都有这些属性,其设置方法相同,含义基本上相同。n(1)Name属性属性n指定窗体的名称,在程序中就用该名字表示该窗体,指定窗体的名称,在程序中就用该名字表示该窗体,它只能在属性窗口中被修改,在代码中不能被修改。它只能在属性窗口中被修改,在代码中不能被修改。在项目中,建立的第一个窗体名称缺省为在项目中,建立的第一个窗体名称缺省为Form1,第第二个窗体缺省为二个窗体缺省为Form2,以此类推。在为窗体命名时,以此类推。在为窗体命名时,最好取一个见名思义的名字,如最好取一个见名思义的名字,如mainForm(Form表示该名字是一个窗体的名字,表示该名字是一个窗体的名字,main表示是主窗体表示是主窗体),这样程序的可读性就好,以后要修改或者维护就更容这样程序的可读性就好,以后要修改或者维护就更容易。易。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n(2)Text属性属性n该属性用来设置或返回窗体的标题栏上的文本该属性用来设置或返回窗体的标题栏上的文本内容。内容。n(3)Size, Width,Height属性属性n这三个属性用于确定窗体的宽度和高度,包括这三个属性用于确定窗体的宽度和高度,包括窗体了标题栏和四周边框的宽度和高度,都是窗体了标题栏和四周边框的宽度和高度,都是以象素为单位。以象素为单位。Size属性是一个结构类型属性是一个结构类型(具体请参照项目二有关内容),包括窗体的(具体请参照项目二有关内容),包括窗体的高度和宽度,高度和宽度,Width属性表示窗体的宽度属性表示窗体的宽度,Height属性表示窗体的高度。属性表示窗体的高度。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n例如:例如:nthis.Size = new Size(306, 301);n将窗体的宽和高设置为将窗体的宽和高设置为306象素和象素和301象素。象素。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n(4)Location、Left、Top属性属性nLocation属性用于指定窗体在屏幕上的显示属性用于指定窗体在屏幕上的显示位置位置, 一般和一般和StartPosition属性配合使用,属性配合使用,只有当只有当StartPosition属性设置为属性设置为Manual时,窗体才按时,窗体才按Location属性值的位置显示窗属性值的位置显示窗体。体。 该属性是一个结构类型(具体请参照项该属性是一个结构类型(具体请参照项目二有关内容),包括窗体左上角的横坐标和目二有关内容),包括窗体左上角的横坐标和纵坐标位置,纵坐标位置,Left属性表示窗体距离屏幕左侧属性表示窗体距离屏幕左侧的宽度的宽度, Top属性表示窗体距离屏幕上端的高属性表示窗体距离屏幕上端的高度。也可以由这两个属性设置窗体的显示位置。度。也可以由这两个属性设置窗体的显示位置。 c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体nthis.Location = new Point(200, 100); n等价于:等价于:nthis. Left200;nthis.Top=100;n功能将窗体显示在屏幕上的(功能将窗体显示在屏幕上的(200,100)位置出,该位置是窗体的横坐标和纵坐标定位位置出,该位置是窗体的横坐标和纵坐标定位的位置。的位置。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n(5)StartPosition属性属性n该属性用来指定指定程序运行时窗体的显示的该属性用来指定指定程序运行时窗体的显示的起始位置。该属性有多个取值,具体含义如表起始位置。该属性有多个取值,具体含义如表1-2:c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏取值含义CenterParent窗体在其父窗体中居中。CenterScreen窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。Manual窗体的位置由Location属性确定。WindowsDefaultBounds窗体定位在Windows默认位置,其边界也由Windows默认决定。WindowsDefaultLocation窗体定位在Windows默认位置,其尺寸在窗体大小中指定。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n(6)BackColor属性属性n该属性用来指定窗体的背景颜色。该属性用来指定窗体的背景颜色。n例如:例如:nthis. BackColor= System.Drawing.Color.Red; n作用是将窗体的背景颜色设置为红色,这里用到了作用是将窗体的背景颜色设置为红色,这里用到了Color结构体类型,该类型是结构体类型,该类型是System.Drawing下下系统定义好的一个结构体类型,可以直接拿过来用。系统定义好的一个结构体类型,可以直接拿过来用。n(7)ForeColor属性属性n该属性用来指定窗体的前景颜色。用法和该属性用来指定窗体的前景颜色。用法和BackColor属性相同。属性相同。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n(8)Cursor属性属性n 该属性用于确定鼠标在该窗体上的的鼠标形状该属性用于确定鼠标在该窗体上的的鼠标形状,默认值默认值Default。使用语法如下:。使用语法如下:n对象名对象名.Cursor=nSystem.Windows.Forms.Cursors.Value;n该属性有多个取值该属性有多个取值.n例如:例如:nthis.Cursor=System.Windows.Forms.Cursors. Hand;n该语句含义是将鼠标移动到窗体上时,光标将变成手该语句含义是将鼠标移动到窗体上时,光标将变成手形。形。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n(8)BackgroundImage属性属性n该属性用于指定窗体的背景图片,在属性窗口该属性用于指定窗体的背景图片,在属性窗口上设定该属性时,可以单击该属性右边的按钮,上设定该属性时,可以单击该属性右边的按钮,然后根据出现的对话框进行设置即可。然后根据出现的对话框进行设置即可。n(9)MaximizeBox(最大化按钮)、(最大化按钮)、MinimizeBox(最小化)属性(最小化)属性n用于指定窗体是否显示最大化、最小化按钮,用于指定窗体是否显示最大化、最小化按钮,只有这两个属性同时设置为只有这两个属性同时设置为False时,窗体上时,窗体上才不会显示这两个按钮,只有一个设置为才不会显示这两个按钮,只有一个设置为False时,窗体会显示这两个按钮,只不过设时,窗体会显示这两个按钮,只不过设置为置为False的按钮不可用。的按钮不可用。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏n(10)ControlBox属性属性n该属性用于指定窗体是否显示该属性用于指定窗体是否显示“控件控件/系统系统”菜菜单框。如图单框。如图c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏n(11)WindowState属性属性n该属性用于表示程序运行时窗体的显示状态,该属性有该属性用于表示程序运行时窗体的显示状态,该属性有多个取值,具体含义如表多个取值,具体含义如表1-4:取值含义Maximized最大化的窗口,充满整个屏幕。Minimized最小化的窗口,只在任务栏上出现程序图标。Normal默认大小的窗口,初始状态为设计时的状态。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n窗体常用方法窗体常用方法n(1)Show和和ShowDialog方法方法nShow方法用于显示无模式窗体,方法用于显示无模式窗体,ShowDialog将窗体显示为模式对话框窗体,将窗体显示为模式对话框窗体,所谓模式对话框窗体即只有对当前的窗体作出所谓模式对话框窗体即只有对当前的窗体作出响应后才能切换到其后的窗体,而无模式窗口响应后才能切换到其后的窗体,而无模式窗口能在两个窗体间任意切换。这两个方法的使用能在两个窗体间任意切换。这两个方法的使用格式为:格式为:n窗体名窗体名.Show();n窗体名窗体名.ShowDialog();c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n例例1.1该程序实现显示模式对话框窗体与非模式该程序实现显示模式对话框窗体与非模式窗体。窗体。n窗体设计界面如图窗体设计界面如图1-25,这里要创建,这里要创建2个窗体。个窗体。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n例例1.1该程序实现显示模式对话框窗体与非模式该程序实现显示模式对话框窗体与非模式窗体。窗体。n窗体设计界面如图窗体设计界面如图1-25,这里要创建,这里要创建2个窗体。个窗体。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n运运行行界界面面如如图图1-26所所示示(主主窗窗体体和和图图1-25左左图图相相同同,没没有有列列出出),在在主主窗窗体体中中当当单单击击“show方方法法”按按钮钮时时,出出现现如如图图1-26左左图图所所示示窗窗体体,此此时时可可以以在在该该窗窗体体和和主主窗窗体体之之间间来来回回切切换换,当当在在主主窗窗体体上上单单击击“ShowDialog方方法法”按按钮钮时时,出出现现如如图图1-26右右图图所所示示窗窗体体,此此时时不不能能在在该该窗窗体体和和主主窗窗体体之之间间来来回回切切换换,只只有有关关闭闭该该窗体后才能回到主窗体上。窗体后才能回到主窗体上。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n设计和编写代方法如下:设计和编写代方法如下:n步骤步骤1:创建:创建C# windows程序后,会自动创程序后,会自动创建一个建一个Form1窗体,我们要为该项目添加一个窗体,我们要为该项目添加一个窗体,在窗体,在Visual Studio C#开发环境中选择开发环境中选择【项目【项目(P)】|【添加【添加windows窗体窗体(F).】菜单,出现如图菜单,出现如图1-27所示界面,选择所示界面,选择“windows窗体窗体”选项,可以为添加的窗体改名,选项,可以为添加的窗体改名,单击确定按钮即可。单击确定按钮即可。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏步骤步骤2:窗体按默认名称,按表:窗体按默认名称,按表1-5设置窗体和各设置窗体和各控件的属性:控件的属性:控件类型属性属性设置值所属窗体窗体NameForm1Text主窗体Button(按钮NamebuttonFormShowForm1Textshow方法c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏步骤步骤2:窗体按默认名称,按表:窗体按默认名称,按表1-5设置窗体和各设置窗体和各控件的属性:控件的属性:控件类型属性属性设置值所属窗体Button(按钮NamebuttonFormShowDialogForm1TextshowDialog方法Button(按钮)NamebuttonHideSelfForm2Text关闭c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n步骤步骤3:为控件编写事件处理方法:为控件编写事件处理方法n为为Form1上的上的“Show方法方法”按钮编写单击事件处理方法,按钮编写单击事件处理方法,代码如下:代码如下:nprivate void buttonFormShow_Click(object sender, EventArgs e)n n Form2 formShow = new Form2(); /创建创建Form2的窗体对象的窗体对象n formShow.Text = 非模式状态非模式状态;/为窗为窗体对象标题栏设置信息体对象标题栏设置信息n formShow.Show(); /显示非模式窗体显示非模式窗体n c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n为为Form1上的上的“ShowDialog方法方法”按钮编写单击事件处按钮编写单击事件处理方法,代码如下:理方法,代码如下:nprivate void buttonFormShowDialog_Click(object sender, EventArgs e)n n Form2 formShowDialog= new Form2();n formShowDialog.Text = 模式对话框状模式对话框状态态;n formShowDialog.ShowDialog();n c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n在开发环境中添加的窗体在开发环境中添加的窗体Form2是一个窗体类,要显示是一个窗体类,要显示这个窗体,必须用这个窗体,必须用new创建这个窗体类的对象,然后才创建这个窗体类的对象,然后才能显示窗体,这两个方法都是创建了能显示窗体,这两个方法都是创建了Form2窗体对象,窗体对象,用了两种方式来显示窗体。用了两种方式来显示窗体。n为为Form1上的上的“关闭关闭”按钮编写单击事件处理方法,代按钮编写单击事件处理方法,代码如下:码如下:nprivate void button1_Click(object sender, EventArgs e)n n Close();n c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n(2)Hide和和Close方法方法nHide方法用于隐藏窗体,而方法用于隐藏窗体,而Close方法用于关方法用于关闭窗体,使用这两个方法时,所观测到的效果闭窗体,使用这两个方法时,所观测到的效果都是窗体会消失。但要注意这两个方法的区别,都是窗体会消失。但要注意这两个方法的区别,当用当用Hide方法隐藏窗体时,窗体实际上还在内方法隐藏窗体时,窗体实际上还在内存中,此时可以用存中,此时可以用show方法将窗体重新显示方法将窗体重新显示出来,如果用出来,如果用Close方法关闭窗体时,则此窗方法关闭窗体时,则此窗体的资源已被释放,窗体已经不在内存中了,体的资源已被释放,窗体已经不在内存中了,不能直接用不能直接用Show方法将其显示出来。方法将其显示出来。 c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n(2)Hide和和Close方法方法nHide方法用于隐藏窗体,而方法用于隐藏窗体,而Close方法用于关方法用于关闭窗体,使用这两个方法时,所观测到的效果闭窗体,使用这两个方法时,所观测到的效果都是窗体会消失。但要注意这两个方法的区别,都是窗体会消失。但要注意这两个方法的区别,当用当用Hide方法隐藏窗体时,窗体实际上还在内方法隐藏窗体时,窗体实际上还在内存中,此时可以用存中,此时可以用show方法将窗体重新显示方法将窗体重新显示出来,如果用出来,如果用Close方法关闭窗体时,则此窗方法关闭窗体时,则此窗体的资源已被释放,窗体已经不在内存中了,体的资源已被释放,窗体已经不在内存中了,不能直接用不能直接用Show方法将其显示出来。方法将其显示出来。 c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n这两个方法的使用格式为:这两个方法的使用格式为:n窗体名窗体名. Hide ();n窗体名窗体名. Close ();n如如“this.Close();”,我们知道,我们知道,this代表代表的是当前窗体。的是当前窗体。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n窗体常用事件窗体常用事件n(1)Click事件事件n在程序的运行过程中,当用鼠标单击窗体内的在程序的运行过程中,当用鼠标单击窗体内的任意位置,将触发该事件。任意位置,将触发该事件。n(2)DoubleClick事件事件n在程序的运行过程中,当用鼠标双击了窗体内在程序的运行过程中,当用鼠标双击了窗体内的某个位置,将触发该事件。的某个位置,将触发该事件。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n(3)Load事件事件n当加载一个窗体时将触发该事件,一般将程序当加载一个窗体时将触发该事件,一般将程序的初始化代码放在该事件中进行处理,如要用的初始化代码放在该事件中进行处理,如要用代码实现窗体显示时,窗体或窗体上控件的显代码实现窗体显示时,窗体或窗体上控件的显示效果,可以将这些代码写到该事件当中。示效果,可以将这些代码写到该事件当中。n(4)Activated事件事件n当窗体由非活动窗体变成活动窗体时,即窗体当窗体由非活动窗体变成活动窗体时,即窗体获得焦点时会触发该事件。获得焦点时会触发该事件。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n(3)Load事件事件n当加载一个窗体时将触发该事件,一般将程序当加载一个窗体时将触发该事件,一般将程序的初始化代码放在该事件中进行处理,如要用的初始化代码放在该事件中进行处理,如要用代码实现窗体显示时,窗体或窗体上控件的显代码实现窗体显示时,窗体或窗体上控件的显示效果,可以将这些代码写到该事件当中。示效果,可以将这些代码写到该事件当中。n(4)Activated事件事件n当窗体由非活动窗体变成活动窗体时,即窗体当窗体由非活动窗体变成活动窗体时,即窗体获得焦点时会触发该事件。获得焦点时会触发该事件。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏窗体窗体n(5)FormClosing事件事件n在关闭窗体时会触发该事件。在关闭窗体时会触发该事件。n(6) FormClosed事件事件n在关闭窗体后会触发该事件。可以使用此事件在关闭窗体后会触发该事件。可以使用此事件执行一些如释放窗体使用的资源,保存输入窗执行一些如释放窗体使用的资源,保存输入窗体的信息等任务。体的信息等任务。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏查找和修改应用程序的错误查找和修改应用程序的错误n工作任务工作任务n在编写程序时,难免会出现一些代码错误。在在编写程序时,难免会出现一些代码错误。在如图如图1-28所示的代码编辑器窗口中,该代码是所示的代码编辑器窗口中,该代码是本项目中模块本项目中模块2的代码,当选择【调试的代码,当选择【调试(D)】|【启动调试启动调试(S)】菜单】菜单(用工具栏中的启动按钮或用工具栏中的启动按钮或按按F5键键),会出现一个提示信息框,如图,会出现一个提示信息框,如图1-29所示,单击所示,单击“否否”按钮。我们的任务是查找和按钮。我们的任务是查找和修改应用程序中出现的错误。修改应用程序中出现的错误。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏查找和修改应用程序的错误查找和修改应用程序的错误n在图在图1-28中,我们可以看到,在编辑器窗口中,中,我们可以看到,在编辑器窗口中,第第34行代码的最后和第行代码的最后和第38行代码有波浪线,并行代码有波浪线,并且在且在“错误列表错误列表”窗口中出现了两行错误提示窗口中出现了两行错误提示信息,根据错误提示,是在第信息,根据错误提示,是在第34行和行和38行的代行的代码出错了。现在我们来修改错误,码出错了。现在我们来修改错误,n在在34行的代码后面少了一个分号,输入一个行的代码后面少了一个分号,输入一个分号。分号。n第第38行代码将代码行代码将代码“close();”改为改为“Close();”,即将首字母,即将首字母“c” 改为大写改为大写“C”。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏查找和修改应用程序的错误查找和修改应用程序的错误n第第38行代码是系统不认识行代码是系统不认识“close();”代码,代码,这里是代码拼写大小写错误。应该是这里是代码拼写大小写错误。应该是“Close();”,“c”是大写是大写“C”,编写代码时,编写代码时,请尽量用系统提供的请尽量用系统提供的“智能感知智能感知”技术,可以技术,可以最大限度的避免大小写拼写错误。这两种错误最大限度的避免大小写拼写错误。这两种错误都是最常见的错误。都是最常见的错误。n当这两个错误修改完毕后,在当这两个错误修改完毕后,在“错误列表错误列表”窗窗口中没有错误信息时,运行程序,出现如图口中没有错误信息时,运行程序,出现如图1-30所示的错误信息。所示的错误信息。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏查找和修改应用程序的错误查找和修改应用程序的错误n这是数据类型不匹配错误,因为代码这是数据类型不匹配错误,因为代码“label2.Text = 25;”中,中,25是整数,而是整数,而label2.Text是字符串(是字符串(string)类型,只要)类型,只要将该行代码改为将该行代码改为“label2.Text = “25”;”,即,即在在25两边加上双引号。注意所有的字符代码在两边加上双引号。注意所有的字符代码在英文输入状态下输入。英文输入状态下输入。n要快速定位到出现错误的代码行上时,只要在要快速定位到出现错误的代码行上时,只要在“错误列表错误列表”窗口中双击对应的错误信息条,窗口中双击对应的错误信息条,系统会自动定位到相应的行上。系统会自动定位到相应的行上。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏查找和修改应用程序的错误查找和修改应用程序的错误n程序错误通常有程序错误通常有3种类型:语法错误、运行错误种类型:语法错误、运行错误和逻辑错误。和逻辑错误。n1语法错误语法错误n在相关实践知识中介绍的内容都属于语法错误,在相关实践知识中介绍的内容都属于语法错误,当发生语法错误时,编译器会停止编译,并显当发生语法错误时,编译器会停止编译,并显示示“错误列表错误列表”窗口,显示具体出现的错误,窗口,显示具体出现的错误,如图如图1-30所示。所示。n借助于借助于C#编辑器的强大功能,有很多语法错误编辑器的强大功能,有很多语法错误在编辑阶段就可以发现并予以纠正。在编辑阶段就可以发现并予以纠正。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏查找和修改应用程序的错误查找和修改应用程序的错误n(1)大小写拼写错误。)大小写拼写错误。n(2)缺少语句结束符缺少语句结束符“;”是最常见的错误。是最常见的错误。n(3)避免各种括号未成对出现的办法是,输入括避免各种括号未成对出现的办法是,输入括号时,左右两边一并输入,然后再去填充括号号时,左右两边一并输入,然后再去填充括号中的内容。中的内容。n(4)标识符错误。标识符错误。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏查找和修改应用程序的错误查找和修改应用程序的错误n2运行错误运行错误n运行错误是在程序运行时出现了错误,如下面运行错误是在程序运行时出现了错误,如下面代码:代码:n a=b/0;n这里这里“/”表示除法,我们知道,两个数相除时,表示除法,我们知道,两个数相除时,除数不能为除数不能为0。程序能够正常运行,只有程序执。程序能够正常运行,只有程序执行这行代码时,才会报错。行这行代码时,才会报错。c程序设计熟悉windowsform编程环境浙江工贸职业技术学院浙江工贸职业技术学院 黎浩宏黎浩宏查找和修改应用程序的错误查找和修改应用程序的错误n3逻辑错误逻辑错误n逻辑错误指的是程序能很好地运行,不会有任逻辑错误指的是程序能很好地运行,不会有任何错误报告和异常出现,但程序得到的结果却何错误报告和异常出现,但程序得到的结果却不是程序员所需要的结果。如下面代码:不是程序员所需要的结果。如下面代码:n a=13/2;n我们要得到的结果是我们要得到的结果是7.5,但得到的结果是,但得到的结果是7,这就属于逻辑错误,因为这就属于逻辑错误,因为c#规定,当除法两边规定,当除法两边数都是整数时,得到的商会舍弃小数,按数学数都是整数时,得到的商会舍弃小数,按数学知识其结果是知识其结果是7.5,但小数,但小数0.5舍弃后,结果就舍弃后,结果就是是7了。了。 c程序设计熟悉windowsform编程环境
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号