首页 理论教育 C#编程新手自学手册:窗体设置与定制

C#编程新手自学手册:窗体设置与定制

时间:2023-10-22 理论教育 版权反馈
【摘要】:表15-3 MessageBoxIcon枚举设置信息2.窗体定制处理Form类可以创建标准窗口、工具窗口、浮动窗口等效果。图15-11 新建项目3)在Visual Studio 2010窗体界面分别设置窗体Form1和Form2的属性,并设置相应的事件处理程序,如图15-12所示。图15-12 设置窗体Form14)设计完毕后将项目保存。外在样式的设置代码如下:对应功能的具体实现代码如下:窗体文件Form2.cs窗体文件Form2.cs的功能是,设置窗体Form2的外在显示样式,并分别设置不同的事件处理程序。

C#编程新手自学手册:窗体设置与定制

创建窗体后,可以对窗体的属性进行设置处理,以实现指定的处理功能。在下面的内容中将简要介绍窗体内的操作处理的基本知识,并通过一个具体的实例来说明各功能的具体实现流程。

1.消息框处理

消息框是窗体的重要组成元素之一,通过消息框可以弹出显示指定的信息。在C#内通过MessageBox类的静态方法Show(),可以显示一个包含文本、标题、按钮、图标和帮助等选项的消息框。消息框是模式对话框,所以调用MessageBox.Show()方法会阻止对程序其他部分的操作处理。

例如通过下面的代码,实现了在消息框内显示指定信息的效果。

978-7-111-36370-5-Part03-277.jpg

在C#消息框内可以指定显示按钮的内容,用户单击不同按钮可以调用不同的处理程序。MessageBoxButtons枚举定义了消息框上显示按钮的类型,具体说明如表15-1所示。

表15-1 MessageBoxButtons枚举设置信息

978-7-111-36370-5-Part03-278.jpg

DialogResult枚举定义了对话框的返回值,具体说明如表15-2所示。

表15-2 DialogResult枚举设置信息

978-7-111-36370-5-Part03-279.jpg

MessageBoxIcon枚举定义了消息框上显示的图标,具体说明如表15-3所示。

表15-3 MessageBoxIcon枚举设置信息

978-7-111-36370-5-Part03-280.jpg

2.窗体定制处理

Form类可以创建标准窗口、工具窗口、浮动窗口等效果。也可以使用Form类创建模式窗口或多文档界面窗体。设置Form类内的属性可以确定所创建窗口或对话框的外观样式。例如通过Text属性可以设置标题文字,通过Size可以设置窗体的大小。

窗体的边框可以通过FormBorderStyle属性来控制,并可以控制调整窗体大小的行为。FormBorderStyle枚举定义了窗体的边框样式,具体说明如表15-4所示。

表15-4 FormBorderStyle枚举设置信息

978-7-111-36370-5-Part03-281.jpg

当使用FormBorderStyle时,会在窗体的标题栏左边显示一个图标。窗体的图标相当于是窗体的图形符号,使窗体更加容易被识别。图标是一种资源图像,可以通过Visual Studio2010来创建和绘制图标文件。具体流程如下。

1)打开Visual Studio.NET 2010,然后依次选择“文件”︱“新建”︱“文件”命令,弹出“模板”对话框,如图15-9所示。

978-7-111-36370-5-Part03-282.jpg

图15-9 “模板”对话框

2)在“模板”中选择“图标文件”选项,单击“确定”按钮后将在Visual Studio 2010窗口内创建一个默认的图标文件,具体如图15-10所示。

978-7-111-36370-5-Part03-283.jpg

图15-10 图标文件界面

这样通过窗体属性中的“Icon”属性,即可为当前窗体选择指定创建的图标。

3.事件处理

Windows是事件驱动型的操作系统,对Form的任何操作都是基于事件驱动来实现的。在Windows窗体应用程序内,可以通过事件来激活对应的处理程序。一系列的可重写程序、窗体和控件可以处理这些消息。当上述方法接收到鼠标或键盘的消息后,会引发相应的事件,这样可以通过事件来获取关于鼠标或键盘的输入信息。

Form类提供了大量的事件可以响应对窗体的各种操作。例如,窗体启动时将引发Load事件,窗体被激活时将引发Activated事件,窗体关闭时会引发FormClosing事件,鼠标移动时会引发MouseMove事件,按下键盘按键时会引发KeyDown事件。

如果需要在出现某事件时执行特定的操作,则需要编写特定的事件处理程序,将其包装在一个委托内,并将它和事件联系起来。例如,在窗体Form的构造函数内编写如下代码:

978-7-111-36370-5-Part03-284.jpg

通过上述代码就可以将事件mm和函数nn()连接起来了。当出现事件mm时,会立即执行函数nn()定义的内容。

实例69:创建和设置窗体

下面将通过一个具体实例来说明创建和设置窗体的过程。本实例保存在“光盘:\daima\15”文件夹内,项目名为FormSample,功能是在项目内创建两个窗体,并调用各属性实现对窗体的设置。本实例的具体实现流程如下。

1)打开Visual Studio 2010,然后依次选择“文件”︱“新建”︱“项目”命令,弹出“新建项目”对话框。

2)在“模板”选项中选择“Windows应用程序”,在名称中输入项目名“Forms”,具体如图15-11所示。

978-7-111-36370-5-Part03-285.jpg

图15-11 新建项目

3)在Visual Studio 2010窗体界面分别设置窗体Form1和Form2的属性,并设置相应的事件处理程序,如图15-12所示。

978-7-111-36370-5-Part03-286.jpg

图15-12 设置窗体Form1

4)设计完毕后将项目保存。

下面将分别介绍各项目文件的具体实现流程。(www.xing528.com)

(1)项目入口文件Form.cs

项目执行后将首先执行入口文件Form.cs,其功能是使用STAThread特性设置应用程序为单线程单元,并调用System.Windows.Forms.Application类的Run()方法来启动程序。在本实例中,通过Application.Run设置了Form2类的实例作为参数,即使用Form2窗体对象来管理当前应用程序的信息。

文件Form.cs的具体实现代码如下:

978-7-111-36370-5-Part03-287.jpg

(2)窗体文件Form1.cs

窗体文件Form1.cs的功能是,设置窗体Form1的外在显示样式,并分别创建四个窗体实例,并分别设置不同的边框显示样式和事件处理程序。上述功能的具体运行流程如下:

1)设置窗体的外在显示样:通过Location来定位按钮mm的位置,通过Text设置mm的显示文本,通过Opacity设置窗体的透明度为1。

2)创建了四个窗体实例:分别创建窗体实例firstForm、secondForm、thirdForm和fourthForm,并分别设置各窗体实例的标题内容、边框样式和显示颜色。

3)设置事件处理程序:定义OnmmCliecked()方法,设置当用户单击mm对象时弹出信息对话框。

外在样式的设置代码如下:

978-7-111-36370-5-Part03-288.jpg

对应功能的具体实现代码如下:

978-7-111-36370-5-Part03-289.jpg

978-7-111-36370-5-Part03-290.jpg

(3)窗体文件Form2.cs

窗体文件Form2.cs的功能是,设置窗体Form2的外在显示样式,并分别设置不同的事件处理程序。上述功能的具体运行流程如下。

1)设置方法DoFormClosing(),当关闭窗体时弹出指定的确认消息框。

2)定义虚方法OnMouseDown()来响应对鼠标的行为。

3)定义虚方法OnKeyDown()来响应对键盘按键的行为。

外在样式的设置代码如下:

978-7-111-36370-5-Part03-291.jpg

对应处理功能的具体实现代码如下:

978-7-111-36370-5-Part03-292.jpg

978-7-111-36370-5-Part03-293.jpg

上述实例代码执行后,将会弹出五个窗体框,如图15-13所示。

978-7-111-36370-5-Part03-294.jpg

图15-13 弹出的5个窗体

当在窗体Form2上单击按钮“你好呀!”后,会激活事件显示对应的信息框,如图15-14所示。

单击窗体2、窗体3和窗体4上的关闭图标“978-7-111-36370-5-Part03-295.jpg”后,会将对应的窗体关闭,如图15-15所示。

鼠标单击窗体Form1后会激活事件显示对应的鼠标键值,如图15-16所示;按下键盘按键后会显示对应的键值,如图15-17所示。

978-7-111-36370-5-Part03-296.jpg

图15-14 信息框提示

978-7-111-36370-5-Part03-297.jpg

图15-15 窗体2、3、4可以关闭

978-7-111-36370-5-Part03-298.jpg

图15-16 相应鼠标值

当单击窗体Form1上的关闭图标“978-7-111-36370-5-Part03-299.jpg”后,会弹出确认关闭对话框,如图15-18所示。

978-7-111-36370-5-Part03-300.jpg

图15-17 相应按键值

978-7-111-36370-5-Part03-301.jpg

图15-18 确认关闭对话框

单击图15-18内的“是”按钮后将会关闭窗体Form1,当单击窗体Form1上的关闭图标“978-7-111-36370-5-Part03-302.jpg”后,将把所有的窗体关闭。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈