创建窗体后,可以对窗体的属性进行设置处理,以实现指定的处理功能。在下面的内容中将简要介绍窗体内的操作处理的基本知识,并通过一个具体的实例来说明各功能的具体实现流程。
1.消息框处理
消息框是窗体的重要组成元素之一,通过消息框可以弹出显示指定的信息。在C#内通过MessageBox类的静态方法Show(),可以显示一个包含文本、标题、按钮、图标和帮助等选项的消息框。消息框是模式对话框,所以调用MessageBox.Show()方法会阻止对程序其他部分的操作处理。
例如通过下面的代码,实现了在消息框内显示指定信息的效果。
在C#消息框内可以指定显示按钮的内容,用户单击不同按钮可以调用不同的处理程序。MessageBoxButtons枚举定义了消息框上显示按钮的类型,具体说明如表15-1所示。
表15-1 MessageBoxButtons枚举设置信息
DialogResult枚举定义了对话框的返回值,具体说明如表15-2所示。
表15-2 DialogResult枚举设置信息
MessageBoxIcon枚举定义了消息框上显示的图标,具体说明如表15-3所示。
表15-3 MessageBoxIcon枚举设置信息
2.窗体定制处理
Form类可以创建标准窗口、工具窗口、浮动窗口等效果。也可以使用Form类创建模式窗口或多文档界面窗体。设置Form类内的属性可以确定所创建窗口或对话框的外观样式。例如通过Text属性可以设置标题文字,通过Size可以设置窗体的大小。
窗体的边框可以通过FormBorderStyle属性来控制,并可以控制调整窗体大小的行为。FormBorderStyle枚举定义了窗体的边框样式,具体说明如表15-4所示。
表15-4 FormBorderStyle枚举设置信息
当使用FormBorderStyle时,会在窗体的标题栏左边显示一个图标。窗体的图标相当于是窗体的图形符号,使窗体更加容易被识别。图标是一种资源图像,可以通过Visual Studio2010来创建和绘制图标文件。具体流程如下。
1)打开Visual Studio.NET 2010,然后依次选择“文件”︱“新建”︱“文件”命令,弹出“模板”对话框,如图15-9所示。
图15-9 “模板”对话框
2)在“模板”中选择“图标文件”选项,单击“确定”按钮后将在Visual Studio 2010窗口内创建一个默认的图标文件,具体如图15-10所示。
图15-10 图标文件界面
这样通过窗体属性中的“Icon”属性,即可为当前窗体选择指定创建的图标。
3.事件处理
Windows是事件驱动型的操作系统,对Form的任何操作都是基于事件驱动来实现的。在Windows窗体应用程序内,可以通过事件来激活对应的处理程序。一系列的可重写程序、窗体和控件可以处理这些消息。当上述方法接收到鼠标或键盘的消息后,会引发相应的事件,这样可以通过事件来获取关于鼠标或键盘的输入信息。
Form类提供了大量的事件可以响应对窗体的各种操作。例如,窗体启动时将引发Load事件,窗体被激活时将引发Activated事件,窗体关闭时会引发FormClosing事件,鼠标移动时会引发MouseMove事件,按下键盘按键时会引发KeyDown事件。
如果需要在出现某事件时执行特定的操作,则需要编写特定的事件处理程序,将其包装在一个委托内,并将它和事件联系起来。例如,在窗体Form的构造函数内编写如下代码:
通过上述代码就可以将事件mm和函数nn()连接起来了。当出现事件mm时,会立即执行函数nn()定义的内容。
实例69:创建和设置窗体
下面将通过一个具体实例来说明创建和设置窗体的过程。本实例保存在“光盘:\daima\15”文件夹内,项目名为FormSample,功能是在项目内创建两个窗体,并调用各属性实现对窗体的设置。本实例的具体实现流程如下。
1)打开Visual Studio 2010,然后依次选择“文件”︱“新建”︱“项目”命令,弹出“新建项目”对话框。
2)在“模板”选项中选择“Windows应用程序”,在名称中输入项目名“Forms”,具体如图15-11所示。
图15-11 新建项目
3)在Visual Studio 2010窗体界面分别设置窗体Form1和Form2的属性,并设置相应的事件处理程序,如图15-12所示。
图15-12 设置窗体Form1
4)设计完毕后将项目保存。
下面将分别介绍各项目文件的具体实现流程。(www.xing528.com)
(1)项目入口文件Form.cs
项目执行后将首先执行入口文件Form.cs,其功能是使用STAThread特性设置应用程序为单线程单元,并调用System.Windows.Forms.Application类的Run()方法来启动程序。在本实例中,通过Application.Run设置了Form2类的实例作为参数,即使用Form2窗体对象来管理当前应用程序的信息。
文件Form.cs的具体实现代码如下:
(2)窗体文件Form1.cs
窗体文件Form1.cs的功能是,设置窗体Form1的外在显示样式,并分别创建四个窗体实例,并分别设置不同的边框显示样式和事件处理程序。上述功能的具体运行流程如下:
1)设置窗体的外在显示样:通过Location来定位按钮mm的位置,通过Text设置mm的显示文本,通过Opacity设置窗体的透明度为1。
2)创建了四个窗体实例:分别创建窗体实例firstForm、secondForm、thirdForm和fourthForm,并分别设置各窗体实例的标题内容、边框样式和显示颜色。
3)设置事件处理程序:定义OnmmCliecked()方法,设置当用户单击mm对象时弹出信息对话框。
外在样式的设置代码如下:
对应功能的具体实现代码如下:
(3)窗体文件Form2.cs
窗体文件Form2.cs的功能是,设置窗体Form2的外在显示样式,并分别设置不同的事件处理程序。上述功能的具体运行流程如下。
1)设置方法DoFormClosing(),当关闭窗体时弹出指定的确认消息框。
2)定义虚方法OnMouseDown()来响应对鼠标的行为。
3)定义虚方法OnKeyDown()来响应对键盘按键的行为。
外在样式的设置代码如下:
对应处理功能的具体实现代码如下:
上述实例代码执行后,将会弹出五个窗体框,如图15-13所示。
图15-13 弹出的5个窗体
当在窗体Form2上单击按钮“你好呀!”后,会激活事件显示对应的信息框,如图15-14所示。
单击窗体2、窗体3和窗体4上的关闭图标“”后,会将对应的窗体关闭,如图15-15所示。
鼠标单击窗体Form1后会激活事件显示对应的鼠标键值,如图15-16所示;按下键盘按键后会显示对应的键值,如图15-17所示。
图15-14 信息框提示
图15-15 窗体2、3、4可以关闭
图15-16 相应鼠标值
当单击窗体Form1上的关闭图标“”后,会弹出确认关闭对话框,如图15-18所示。
图15-17 相应按键值
图15-18 确认关闭对话框
单击图15-18内的“是”按钮后将会关闭窗体Form1,当单击窗体Form1上的关闭图标“”后,将把所有的窗体关闭。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。