对话框通常在需要时弹出,在不需要时被关闭,并且对话框不包含菜单栏和滚动条等元素,而只有最小化、最大化的按钮。可以将对话框看成一种特殊的Form窗体,根据自己的定义样式来设计独立的对话框程序。
实现自定义对话框效果的实现流程如下。
1)将窗体的FormBorderStyle属性设置为FixedDialog,将MinimsizeBox和MaximizeBox属性设置为false。
2)如果需要在对话框中访问父窗体的信息,需要将ParentForm属性返回的引用显式转换为父窗体的类型。
3)通过VS控件实现对话框的提示数据,并使用窗体设计器控制各控件的位置和大小。
4)通过专用的事件处理方法在对话框内显示处理的数据。
5)使用ShowDialog方法模式显示对话框,并等待用户的操作。并且可以在关闭时获取用户的输入数据,根据ShowDialog返回值确定用户单击的操作按钮。
实例76:将Form窗体自定义为对话框
下面将通过一个具体的实例来说明将Form窗体自定义为对话框的具体实现过程。本实例保存在“光盘:\daima\15”文件夹内,项目名为duihua1,功能是在窗体内实现对话框处理效果。本实例的具体实现流程如下:
1)在Visual Studio 2010中新建一个名为“duihua1”的Windows应用程序。
2)设置窗体的name属性为“Form1”,设置Text属性值为“chuangti1”。
3)从工具箱中拖入一个Button控件到Form1的顶部,设置name为“textBox1”,设置Text属性值为空。
4)从工具箱中拖入一个TextBox控件到button1底部,并设置其Text属性为空,设置name为“textBox1”。
5)在当前项目内再次添加一个名为“duihua”的窗体。
6)在设计器中选中窗体duihua,设置FormBorderStyle属性值为“FixedDialog”,设置MinimsizeBox和MaximizeBox属性值为false,设置Text属性值为“请输入信息”。
7)从工具箱中拖入一个Lable控件到duihua的顶部,设置name为“label1”,设置Text属性值为“姓名”。
8)从工具箱中拖入一个Lable控件到label1的下面,设置name为“label2”,设置Text属性值为“电话”。
9)分别拖入两个TextBox控件到label1和label2后面。
10)从工具箱中拖入一个GroupBox控件到duihua窗体中部,设置name为“groupBox1”,设置Text属性值为“性别”。
11)从工具箱中拖入两个RadioButton控件到groupBox1内,分别设置name为“radioButton1”和“radioButton2”,分别设置Text属性值为“男”和“女”。
12)从工具箱中拖入一个GroupBox控件到duihua窗体底部,设置name为“groupBox2”,设置Text属性值为“基本信息”。
13)从工具箱中拖入三个CheckBox控件到groupBox2内,分别设置name为“checkBox1”、“checkBox2”和“checkBox3”,分别设置Text属性值为“专科”、“本科”和“研究生”。
14)从工具箱中拖入两个Button控件到dhuihua窗体内,分别设置name为“button1”和“button2”,分别设置Text属性值为“确定”和“取消”。
15)分别选中上面的button1和button2,在“属性”中的“事件”选项中双击Click事件,编写对应的事件处理代码。具体实现代码如下:
(www.xing528.com)
16)在自动生成的文件Form1.cs中,定义类InfoDlg:
17)选中Form1窗体上面的button1,在“属性”中的“事件”选项中双击Click事件,编写获取对话框数据事件的处理代码。具体实现代码如下:
18)经过上述操作处理后,整个项目设计完毕。完成后的具体设计界面分别如图15-48和图15-49所示。
图15-48 Form1窗体设计界面结构
图15-49 duihua窗体设计界面结构
当上述项目运行后,会首先按照指定的样式显示窗体的各个元素,如图15-50所示。当单击“获取信息”按钮后,会弹出“输入信息”对话框,如图15-51所示。
图15-50 窗体界面效果
图15-51 “输入信息”对话框
当输入并选择信息,单击“确定”按钮后,会在窗体内获取显示用户输入的信息,如图15-52所示。
图15-52 显示信息
至此,整个项目设计完毕。各控件的属性设置代码分别在文件Form1.Designer.cs和duihua.Designer.cs内,主要代码格式如下:
事件处理代码在文件Form1.cs和duihua.cs内,而文件Program.cs是项目的入口程序。
多学一招
在默认情况下,用一个按钮来触发一个事件,从而达到实现某一功能的操作,例如按下一个按钮可以删除数据库中某一记录或某一批记录等。通常要进行这些操作前都先要进行提示确认的步骤,这个提示步骤是:当用户进行某一操作时,首先弹出一个操作确认选择对话框,用户确认后,操作才能有效执行,否则中止操作。这样做既可以给用户提供一个很好的操作界面,也防止了误操作的发生。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。