您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > C#应用开发与实践第10章---Windows窗体及控件
本章要点:1Windows窗体的常用属性、事件和方法2如何调用Windows窗体3常用6种基本控件4创建菜单、工具栏和状态栏5高级控件和组件的应用第10章Windows窗体及控件主要内容10.1Windows窗体介绍10.2Windows窗体的调用10.3基本Windows控件10.4菜单、工具栏与状态栏10.5高级控件与组件10.6综合实例——进销存管理系统登录窗口第10章Windows窗体及控件第10章Windows窗体及控件Windows环境中主流的应用程序都是窗体应用程序,Windows窗体应用程序比命令行应用程序要复杂得多,理解它的结构的基础是理解窗体,所以深刻认识Windows窗体变得尤为重要。而控件是开发Windows应用程序最基本的部分,每一个Windows应用程序的操作窗体都是由各种控件组合而成的,因此,熟练掌握控件是合理、有效的进行Windows应用程序开发的重要前提。本章将对Windows窗体及控件进行详细讲解。10.1Windows窗体介绍10.1.1设置窗体属性10.1.2调用窗体方法10.1.3触发窗体事件10.1Windows窗体介绍在Windows窗体应用程序中,窗体是向用户显示信息的可视界面,它是Windows窗体应用程序的基本单元。窗体都具有自己的特征,开发人员可以通过编程来进行设置。窗体也是对象,窗体类定义了生成窗体的模板,每实例化一个窗体类,就产生了一个窗体,.NET框架类库的System.Windows.Forms命名空间中定义的Form类是所有窗体类的基类。编写窗体应用程序时,首先需要设计窗体的外观和在窗体中添加控件或组件,虽然可以通过编写代码来实现,但是却不直观、也不方便,而且很难精确的控制界面。如果要编写窗体应用程序,推荐使用VisualStudio2010,VisualStudio2010提供了一个图形化的可视化窗体设计器,可以实现所见即所得的设计效果,以便快速开发窗体应用程序。VisualStudio2010开发环境中的默认窗体(Form1)如图10-1所示。10.1.1设置窗体属性新创建的Windows窗体中包含一些基本的组成要素,比如图标、标题、位置和背景等,设置这些要素可以通过窗体的属性面板进行设置,也可以通过代码实现。但是为了快速开发Windows窗体应用程序,通常都是通过属性面板进行设置,下面详细介绍Windows窗体的常用属性设置。1.更换窗体的图标添加一个新的窗体后,窗体的图标是系统默认的图标。如果想更换窗体的图标,可以在属性面板中设置窗体的Icon属性,窗体的默认图标和更换后的图标分别如图10-2和图10-3所示。图10-2窗体默认图标图10-3更换后的饿窗体图标更换窗体图标的过程非常简单,其具体步骤如下:(1)选中窗体,然后在窗体的属性面板中选中Icon属性,会出现按钮,如图10-4所示。图10-4窗体的Icon属性(2)单击按钮,打开选择图标文件的对话框,在其中选择新的窗体图标文件,单击“打开”按钮,即可完成窗体图标的更换。2.隐藏窗体的标题栏在有些情况下需要隐藏窗体的标题栏,例如,软件的加载窗体大多数都采用无标题栏的窗体。开发人员可以通过设置窗体的FormBorderStyle属性为None,实现隐藏窗体标题栏功能。FormBorderStyle属性有7个属性值,其属性值及说明如表10-1所示。表10-1FormBorderStyle属性的属性值及说明3.控制窗体的显示位置设置窗体的显示位置时,可以通过设置窗体的StartPosition属性来实现。StartPosition属性有5个属性值,其属性值及说明如表10-2所示。属性值说明Fixed3D固定的三维边框FixedDialog固定的对话框样式的粗边框FixedSingle固定的单行边框FixedToolWindow不可调整大小的工具窗口边框None无边框Sizable可调整大小的边框SizableToolWindow可调整大小的工具窗口边框表10-2StartPosition属性的属性值及说明4.修改窗体的大小在窗体的属性中,通过Size属性可以设置窗体的大小。双击窗体属性面板中的Size属性,可以看到其下拉菜单中有Width和Height两个属性,分别用于设置窗体的宽和高。修改窗体的大小,只需更改Width和Height属性的值即可。窗体的Size属性如图10-5所示。属性值说明CenterParent窗体在其父窗体中居中CenterScreen窗体在当前显示窗口中居中,其尺寸在窗体大小中指定Manual窗体的位置由Location属性确定WindowsDefaultBounds窗体定位在Windows默认位置,其边界也由Windows默认决定WindowsDefaultLocation窗体定位在Windows默认位置,其尺寸在窗体大小中指定设置窗体的显示位置时,只需根据不同的需要选择属性值即可。图10-5窗体的Size属性5.设置窗体背景图片为使窗体设计更加美观,通常会设置窗体的背景,开发人员可以设置窗体的背景颜色,也可以设置窗体的背景图片。设置窗体的背景图片时可以通过设置窗体的BackgroundImage属性实现,其具体步骤如下:(1)选中窗体属性面板中的BackgroundImage属性,会出现按钮,如图10-6所示。图10-6BackgroundImage属性(2)单击按钮,打开“选择资源”对话框,如图10-7所示。图10-7“选择资源”对话框(3)如图10-7所示的“选择资源”对话框中有两个选项,一个是“本地资源”,另一个是“项目资源文件”,其差别是选择“本地资源”后,直接选择图片,保存的是图片的路径;而选择“项目资源文件”后,会将选择的图片保存到项目资源文件Resources.resx中。无论选择哪种方式,都需要单击“导入”按钮选择背景图片,选择完成后单击“确定”按钮完成窗体背景图片的设置,Form1窗体背景图片设置前后对比如图10-8和图10-9所示。图10-8窗体默认背景图10-9设置背景后的窗体说明:设置窗体背景图片时,窗体还提供了一个BackgroundImageLayout属性,该属性主要用来控制背景图片的布局,开发人员需要将该属性的属性值设置为Stretch,以便能够使图片自动适应窗体的大小。6.控制窗体的最大化和最小化Windows窗体提供了“最大化”按钮和“最小化”按钮,开发人员可以根据需要设置这两个按钮可用或不可用,该功能主要通过设置Windows窗体的MaximizeBox属性和MinimizeBox属性实现,其中MaximizeBox属性用来设置窗体的“最大化”按钮是否可用,MinimizeBox属性用来设置窗体的“最小化”按钮是否可用。另外,开发人员还可以设置窗体启动时,默认是最大化还是最小化,该功能主要通过设置窗体的WindowState属性来实现。WindowState属性有3个属性值,其属性值及说明如表10-3所示。表10-3WindowState属性的属性值及说明属性值说明Normal还原窗口Minimized最小化窗口Maximized最大化窗口7.控制窗体总在最前Windows桌面上允许多个窗体同时显示,但有时候根据实际情况,可能需要将某一个窗体总显示在桌面的最前面,那么在C#中可以通过设置窗体的TopMost属性来实现,该属性主要用来获取或设置一个值,这个值指示窗体是否显示为最顶层窗体。窗体总在最前效果如图10-10所示。图10-10中,鼠标焦点在“我的电脑”上,但Form1还是显示在最前面,这里就设置了它的TopMost属性为True。8.设置窗体的透明度实际应用中,为了给窗体增加一些特殊的效果,常常需要使窗体半透明,这时可以通过设置窗体的Opacity属性来实现,该属性主要用来获取或设置窗体的不透明度,其默认值为100%。比如,将窗体的Opacity属性设置为50%,其效果如图10-11所示。图10-11窗体的半透明效果1.使用Show方法显示窗体Show方法用来显示窗体,它有两种重载形式,分别如下:publicvoidShow()publicvoidShow(IWin32Windowowner)owner:任何实现IWin32Window并表示将拥有此窗体的顶级窗口的对象。【例10-1】通过使用Show方法显示Form1窗体,代码如下:Form1frm=newForm1();//实例化窗体对象frm.Show();//调用Show方法显示窗体说明:由于Show方法为非静态方法,所以需要使用窗体对象进行调用;下面将要介绍到的Hide方法和Close方法也是非静态方法,所以在使用它们时,也需要首先实例化窗体对象。2.使用Hide方法隐藏窗体Hide方法用来隐藏窗体,语法如下:publicvoidHide()【例10-2】通过使用Hide方法隐藏Form1窗体,代码如下:10.1.2调用窗体方法Form1frm=newForm1();//实例化窗体对象frm.Hide();//调用Hide方法隐藏窗体说明:使用Hide方法隐藏窗体之后,窗体所占用的资源并没有从内存中释放掉,而是继续存储在内存中,开发人员可以随时调用Show方法来显示隐藏的窗体。3.使用Close方法关闭窗体Close方法用来关闭窗体,语法如下:publicvoidClose()【例10-3】通过使用Close方法关闭Form1窗体,代码如下:Form1frm=newForm1();//实例化窗体对象frm.Close();//调用Close方法关闭窗体说明:关闭当前窗体时,也可以直接使用this关键字调用Close方法来实现。Windows是事件驱动的操作系统,对Form类的任何交互都是基于事件来实现的。Form类提供了大量的事件用于响应执行窗体的各种操作,下面对窗体的几种常用事件进行介绍。说明:选择窗体事件时,可以通过选中控件,然后单击其“属性”窗口中的图标来实现。1.Activated事件当使用代码激活或用户激活窗体时触发Activated事件,其语法格式如下:publiceventEventHandlerActivated【例10-4】在窗体每次激活时都弹出一个“窗体已激活”对话框,代码如下:privatevoidForm1_Activated(objectsender,EventArgse)//触发窗体的激活事件{MessageBox.Show(窗体已激活!);//弹出信息提示框}10.1.3触发窗体事件说明:开发数据库管理系统时,为了能够使数据表格控件中显示最新的数据,在子窗体中添加或修改记录之后,关闭子窗体,重新激活主窗体,这时可以在主窗体的Activated事件中对数据表格控件进行一下重新绑定。2.Load事件窗体加载时,将触发窗体的Load事件,该事件是窗体的默认事件,其语法格式如下:publiceventEventHandlerLoad【例10-5】当窗体加载时,弹出对话框,询问是否查看窗体,单击“是”按钮,查看窗体。代码如下:privatevoidForm1_Load(objectsender,EventArgse)//窗体的Load事件{if(MessageBox.Show(是否查看窗体!,,MessageBoxButtons.YesNo,MessageBoxIcon.Information)==DialogResult.OK)//使用if判断是否单击了“是”按钮{}}3.FormClosing事件窗体关闭时,触发窗体的FormClosing事件,其语法格式如下:publiceventFormClosingEventHandlerFormClosing【例10-6】创建一个Windows窗体应用程序,实现当关闭窗体之前,弹出提示框,询问是否关闭当前窗体,单击“是”按钮,关闭窗体;单击“否”按钮,取消窗体的关闭。代码如下。(实例位置:光盘\MR\源码\第10章\10.6)privatevoidForm1_FormClosing(object
本文标题:C#应用开发与实践第10章---Windows窗体及控件
链接地址:https://www.777doc.com/doc-7406472 .html