FORM窗体和对话框
- 格式:ppt
- 大小:2.97 MB
- 文档页数:46
1.窗体(Form)更多的是从Windows GUI架构设计来看的,Windows中一切ui元素都是
窗口(Window)组成的。
窗体是容器窗口,用于包含其它窗口。
2.对话框(Dialog)更多的是从人机交互形式来看的,电脑给出提示所需参数并等待用户输
入,使用者输入数据后执行--犹如一问一答的对话双方。
现在Windows GUI程序中一般用窗体来实现这个人机交互形式。
由于是用窗体系统实现Dialog,为了达到等待用户输入的目的因此引入了模态窗体概念。
但是英文里面Dialog只是指对话这种交互形式,所以Dialog也可以是不用窗体实现的,例如语音电话系统。
再观察Winform库的设计,主要的ui体系基本都是窗口元素例如,UI控件基础Control,顶层容器Form。
Dialog是做为Form的一种使用形式定义为Form class的方法。
Winform库中虽然也有例如FileOpenDialog,PageSetupDialog等对话框类,但是仔细观察可以发现它们提供的属性基本是输入输出参数,这些都是对话相关的属性,而关于UI的属性(例如size, location)则几乎没有。
这也说明Winform在设计的时候对Form和Dialog这两个概念也是区别对待的。
窗体和对话框"继承与被继承的关系"可以这么理解!。
VBA 中的自定义对话框设计与使用指南自定义对话框在VBA编程中经常被用于与用户进行交互,以便获取输入、显示消息或提供选项。
本文将介绍VBA中的自定义对话框的设计和使用指南,以帮助您更好地在VBA编程中使用自定义对话框。
1. 了解VBA中的常见对话框类型VBA中有多种类型的对话框可供选择,例如输入框、提示框、确认框、文件选择框等。
您需要了解每种对话框的特点和使用方法,以便正确选择适合您的需要的对话框类型。
2. 创建自定义对话框在VBA编程中,您可以使用用户窗体(UserForm)来创建自定义对话框。
用户窗体类似于界面设计工具,可以帮助您创建自定义的界面元素,如文本框、标签、按钮等。
通过在用户窗体上添加这些界面元素,您可以实现自定义对话框的功能。
3. 设计自定义对话框界面在设计自定义对话框界面时,您需要注意以下几点:- 界面元素的布局和位置应该合理,以便用户能够直观地理解其功能。
- 文本框、标签等界面元素的命名要具有描述性,方便代码编写和理解。
- 按钮的事件处理过程需要与相应的功能相匹配,确保用户操作的准确性和便捷性。
4. 处理用户输入在自定义对话框中,您经常需要从用户那里获取输入,并对输入进行处理。
VBA提供了各种方法来处理用户输入。
- 获取文本框中的文本:可以使用文本框的Value属性来获取用户输入的文本。
- 获取选择框的选项:可以使用选择框的Value属性来获取用户选择的选项。
- 检查输入的有效性:您可以在代码中对用户输入进行验证,并根据需要显示提示信息或进行警告。
5. 显示消息和提示除了从用户那里获取输入,您可能还需要向用户显示消息和提示。
在自定义对话框中,您可以使用标签或消息框来显示消息和提示。
根据需要,您可以在自定义对话框中添加相关的元素,并在用户执行某些操作时显示消息或提示。
6. 调用和显示自定义对话框在VBA编程中,您可以使用调用对话框的方法来显示自定义对话框。
您可以在代码中使用调用方法,并传递相关的参数,以便显示自定义对话框。
vb通用对话框名词解释概述说明以及解释1. 引言1.1 概述在软件开发中,对话框是一种常见的用户界面元素,用于与用户进行交互和获取输入。
VB通用对话框是一种基于Visual Basic编程语言的对话框类型,具有广泛的应用领域和重要性。
本文将详细介绍VB通用对话框的概念、重要性、应用场景以及常见名词解释和功能解析。
此外,还将提供实际操作指南与技巧,并展望VB通用对话框未来可能的发展趋势。
1.2 vb通用对话框概念说明VB通用对话框是使用Visual Basic编程语言开发的一种标准化对话框。
它为开发人员提供了一套预定义的、可直接调用和使用的界面组件,以便更快速地构建用户友好的应用程序界面。
通过使用VB通用对话框,开发人员可以轻松地创建窗体、按钮、文本框等基本控件,并实现与用户的交互。
它提供了丰富的功能库和方法,使得开发过程更加高效和便捷。
1.3 目的本文旨在帮助读者全面了解VB通用对话框在软件开发中的重要性和作用。
通过介绍其应用场景以及常见名词解释和功能解析,读者可以更好地理解如何使用VB通用对话框构建用户友好的界面和实现与用户的交互。
此外,本文还提供了实际操作指南与技巧,帮助读者掌握基本的VB通用对话框的创建和使用方法。
最后,本文还展望了VB通用对话框未来可能的发展趋势,旨在激发读者对该领域的兴趣并为其未来的研究或应用提供参考。
2. VB通用对话框的重要性和应用场景2.1 为什么需要VB通用对话框:VB通用对话框是一个在软件开发中非常重要的工具,它可以提供给用户一个交互界面,通过该界面用户可以进行各种操作和输入。
VB通用对话框的存在使得软件开发更加高效和便捷,因此它成为了不可或缺的一部分。
2.2 VB通用对话框在软件开发中的作用:VB通用对话框可以帮助程序员创建各种功能丰富的用户界面。
它提供了一系列常见控件,如按钮、文本框、复选框等,以及与这些控件交互的方法和属性。
使用VB通用对话框,开发者可以快速创建一个简单易用、美观大方的用户界面,并将其与应用程序逻辑进行连接。
VB名词解释VB名词解释《VisualBasic6.0知识总结》10级2、3班一、名词解释:1、对象:对象是系统中的基本运行实体。
用户用来构筑用户图形界面的每一个可视的控件均为对象。
创建用户界面时用到的对象可分为窗体对象和控件对象。
整个应用程序也是一个对象,还有一些对象不可见。
2、属性:属性是对对象特性的描述,不同的对象有不同的属性。
3、事件:事件是由VisualBasic6.0预先设置好的,能够被对象识别的动作。
4、方法:方法是指控制对象动作行为的方式,是对象包含的函数或过程。
5、工程:是VisualBasic6.0应用程序开发过程中使用的文件集。
VisualBasic&0工程主要由窗体模块、标准模块和类模块三部分组成。
6、窗体:就是窗口,在VisualBasic6・0中,窗体是用户界面的最本的模块,也是创建应用程序所使用的主要对象之一。
7、标准模块:应用程序内其他模块访问的过程和声明的容器,扩展名・BAS。
8、窗体模块:窗体模块的文件扩展名为.frm。
这类模块是VisualBasic6.0应用程序的基础。
窗体模块可以包含事件过程、通用过程、以及变量、常数、类型和外部过程的窗体级声明。
9、类模块:类模块的扩展名・cls。
这类模块是面向对象编程的基础。
10、常量:在程序执行过程中其值保持不变的量。
在VisualBasic6.0中,常量分为两种:一般常量和符号常量。
11、符号常量:是在程序中用标识符表示的一些永远不变的常数或字符串。
12、事件驱动:VisualBasic&0采用事件驱动编程机制。
当发生某个事件时,就会“驱动”预先设置的一系列动作,称为“事件驱动”。
13、事件过程:针对控件或窗体的事件编写的代码,称为“事件过程”。
14、变量:在程序执行期间其值可以改变的量。
在程序运行中,系统为程序中的每一个变量分配一个存储单元,变量名实质上计算机内存单元的命名。
变量名用于识别变量在内存中的位置,变量的类型指定其占用内存空间的大小。
Form常用属性(1)Name属性:用来获取或设置窗体的名称。
(2)WindowState属性:用来获取或设置窗体的窗口状态。
(3)StartPosition属性:用来获取或设置运行时窗体的起始位置。
(4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。
(5)Width属性:用来获取或设置窗体的宽度。
(6)Heigth属性:用来获取或设置窗体的高度。
(7)Left属性:用来获取或设置窗体的左边缘的x 坐标(以像素为单位)。
(8)Top属性:用来获取或设置窗体的上边缘的y 坐标(以像素为单位)。
(9)ControlBox属性:用来获取或设置一个值,该值指示在该窗体的标题栏中是否显示控制框。
(10)MaximumBox属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮。
(11)MinimizeBox属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮。
(12)AcceptButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当用户按ENTER 键时就相当于单击了窗体上的该按钮。
(13)CancelButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当用户按ESC键时就相当于单击了窗体上的该按钮。
(14)Modal属性:该属性用来设置窗体是否为有模式显示窗体。
(15)ActiveControl属性:用来获取或设置容器控件中的活动控件。
(16)ActiveMdiChild属性:用来获取多文档界面(MDI)的当前活动子窗口。
(17)AutoScroll属性:用来获取或设置一个值,该值指示窗体是否实现自动滚动。
(18)BackColor属性:用来获取或设置窗体的背景色。
(19)BackgroundImage属性:用来获取或设置窗体的背景图像。
(20)Enabled属性:用来获取或设置一个值,该值指示控件是否可以对用户交互作出响应。
基础题(1)【操作步骤】步骤1:新建一个窗体,在窗体上创建一个文本框控件。
步骤2:在属性窗口中,设置其Text属性为空。
步骤3:在文本框下方绘制一个命令按钮Command1。
步骤4:在属性窗口中,将Caption设置为"上一条记录"。
步骤5:复制命令按钮"上一条记录",在窗体的空白位置处粘贴对话框,单击"是"按钮,创建一个控件数组。
步骤6:再创建3个命令按钮.步骤7:按照题目要求将复制的3个命令按钮的Caption分别设置为"下一条记录"、"第一条记录"和"最后一条记录",并将窗体的Caption设置为"显示记录"。
步骤8:选择"上一条记录"命令按钮,通过属性窗口设置Enable为False,选择"下一条记录"命令按钮,通过属性窗口设置Default为True.。
步骤9:将文件保存至考生文件夹下,且设置窗体文件名为sjt1.frm,工程文件名为sjt1.vbp。
基础题(2)【操作步骤】步骤1:打开VB开发环境,新建一个窗体。
步骤2:在窗体中添加一个标签控件Lable1,在属性窗口中设置标签的Caption属性为"等级考试",然后设置其AutoSize属性为True,设置其BorderStyle属性为1。
步骤3:然后在窗体中添加一个计时器Timer1,设置其Interval属性为0,Enabled属性为True。
步骤4:打开代码窗口,编写代码如下。
Private Sub Form_Load()Timer1.Interval = 1000End SubPrivate Sub Timer1_Timer()Label1.Visible = Not Label1.VisibleEnd Sub步骤5:运行程序,然后将文件保存至考生文件夹下,窗体文件名为sjt2.frm,工程文件名为sjt2.vbp。
delphi form中调用frame窗体内的控件-回复Delphi是一种基于对象的Pascal编程语言,用于开发Windows平台上的可视化应用程序。
其提供了许多方便的功能和组件,使开发者能够快速构建强大和复杂的界面。
在Delphi中,可以使用form窗体和frame窗体来组织和管理界面控件。
在Delphi中,form窗体和frame窗体都可以包含各种控件,例如按钮、标签和输入框等。
当我们需要在form窗体中调用frame窗体内的控件时,可以通过以下步骤完成。
第一步,创建一个新的Delphi应用程序项目。
在Delphi IDE中,选择“文件”菜单,然后选择“新建”->“项目”命令。
在弹出的对话框中,选择“应用程序”模板,然后点击“确定”按钮。
第二步,创建一个新的form窗体。
在项目资源管理器中,右键单击“项目名.dpr”文件(通常为项目名称后缀为.dpr的文件),然后选择“附加”->“新建”->“窗体”命令。
选择“窗体”模板,点击“确定”按钮。
第三步,创建一个新的frame窗体。
在项目资源管理器中,右键单击“项目名.dpr”文件,选择“附加”->“新建”->“框架”命令。
选择“框架”模板,点击“确定”按钮。
第四步,将frame窗体嵌入到form窗体中。
在form窗体的设计视图中,选择“项目”菜单,然后选择“附加”->“窗体”命令。
在弹出的对话框中,选择要嵌入的frame窗体,点击“确定”按钮。
第五步,在form窗体中调用frame窗体内的控件。
在form窗体的代码视图中,找到frame窗体的实例化代码。
通常情况下,Delphi会自动生成一个以“TFrame名”为名字的变量。
例如,如果frame窗体的名称为“Frame1”,则会生成一个名为“Frame1: TFrame1”的变量。
使用这个变量,可以通过以下方式访问frame窗体内的控件:delphiFrame1.控件名.属性:= 值;例如,假设frame窗体内有一个名为“Button1”的按钮,我们可以使用以下代码在form窗体中设置该按钮的可见性:delphiFrame1.Button1.Visible := False;当然,还可以调用按钮的其他属性和方法,例如单击事件。
第3章常用组件Delphi 7.0的组件板上含有27个选项卡,总共包括350多个组件,如图所示:3.1 窗体3.1.1 Form组件窗体是应用程序的操作界面,是放置组件的基础。
窗体由标题栏、工作区和边界组成。
Form的主要属性窗体组件(TForm)在运行时表现为一个窗体,窗体是一个容器构件,它可以包含其他种类的构件,并协同完成应用程序的整体功能。
窗体由属性、事件和方法组成。
(1)BorderIcons属性用来制定窗体标题栏上的图标(2)BorderStyle属性Borderstyle属性用来设置窗体的外观和边框(3)Name属性Name属性唯一地标识对象,取值不能为空,若工程中有多个窗体,名称不能相同。
(4)Caption属性用来指定窗体标题栏中说明文字,可以为空。
(5)Font属性Font属性用来设置窗体中文字的字体、颜色和字号等等,其中Font.style属性为集合型。
(6)FormStyle属性FormStyle属性用来指定窗体的类型。
从窗体类型的角度来看,Windows环境中的应用程序可以分为以下三类。
第一类:多文档界面(MDI)应用程序一般这种应用程序具有一个父级窗口和多个子窗口,可以同时打开多个文档,分别在多个子窗口中显示。
第二类:单文档界面(SDI)应用程序这种应用程序同时只能打开一个文档。
第三类:对话框应用程序这种应用程序的主界面基于一个对话框类型的窗体。
(7)Icon属性Icon属性用来指定标题栏中显示的图标。
(8)Position属性Position属性用来描述窗体大小和显示位置。
(9)WindowsState属性WindowsState属性来描述窗体显示状态。
2.TForm 的事件窗体是一个可视化的组件,包括外部事件和内部事件。
3.窗体的方法一些常用方法(过程或函数)有:Create 、Close 、CloseQuery 、release 、Show 、ShowModal 、Print 。
窗体显示中Form.Show()和Form.ShowDialog()的区别窗体和对话框要么是有模式的,要么是无模式的。
“模式”窗体或对话框必须关闭或隐藏,然后您才能继续使用应用程序的其余部分。
显示重要消息的对话框应始终是有模式的。
模式对话框的一个示例是Visual Studio 中的“关于”对话框。
MessageBox是您可以使用的一个模式窗体。
有模式对话框显示出来以后,那么开始打开的窗体或对话框就不能再获得焦点了。
“无模式”窗体让您在此窗体与另一窗体之间变换焦点,而不必关闭初始窗体。
用户在该窗体显示的同时可继续在任何应用程序的其他位置工作。
例如:文本编辑软件里面的搜索功能,就是一个无模式的,因为搜索对话框出来以后,还可以操作编辑本文,即它不影响其他窗体获得焦点。
将窗体显示为有模式对话框用form1.ShowDialog()方法。
这个方法有一个可选参数owner,该参数可用于指定窗体的父子关系。
例如:在Form1代码段中:Form2 f2=new Form2();f2.ShowDialog(this);//this表示Form1当前实例这样f2实例就和Form1实例建立了一个父子关系,可以相互通讯。
如果没有使用f2.ShowDialog(this)而直接使用的是无参的,要定义父子关系,则需要语句f2.owner=this;将窗体显示为无模式对话框则用form1.show()方法。
注意如果窗体显示为有模式,则在关闭该对话框之前,不执行ShowDialog 方法后面的代码。
但是,当窗体显示为无模式时,那么该窗体显示之后,会立刻执行Show 方法后面的代码。
___________________________________面对多窗口的调用的时候,我们往往不喜欢窗口之间的随意切换,那样我们还有花费时间寻找我们要用的窗口,而且,一但出现问题,窗口的顺序也有可能被再次打乱,很是不顺手,那么我们怎么办呢?我们可以将show方法转化为showdialog方法,顾名思义,showdialog是一个进行路经绑定的show方法,他是不可以自由切换的,换言之,就是,当你没有关闭你当前页的前提下,你是无法关闭该页面后面的任一页面的,它是当前唯一(路经打开)为true的。
图10-1 WinForm项目文件结构(四)Form1.cs文件Form1.cs包含了窗体部分类Form1的一部分定义,用于程序员编写事件处理代码,是程序员工作的主要对象。
Form1.cs文件主要由Form1.cs[设计]界面与Form1.cs逻辑代码两部分构成,还包含了Form1.Designer.cs和Form1.resx文件,具体如下:1. Form1.cs[设计]界面Form1.cs[设计]界面位于Form1.cs文件下,双击解决方案窗口中的Form1.cs文件,切换到Form1.cs[设计]界面,如图10-2所示。
图10-2 Form1.cs[设计]界面Form1是Form1.cs[设计]界面中系统初始化的窗体。
默认情况下,该窗体上没有任何控件,用户可以通过拖到工具箱中的控件对窗体界面进行设计。
点击“视图”下的“工具箱”,将显示出工具箱窗口,此时,可以选择相应控件拖放到Form1窗体中,如图10-3所示将button按钮拖放到窗体中。
图10-3 在窗体上添加控件2. Form1.cs逻辑代码WinForm窗体程序除了向用户展示友好的界面外,还可以与用户界面进行交互,而实现交互功能的逻辑代码也放在Form1.cs文件中。
在Form1窗体空白处右击会弹出快捷菜单,在快捷菜单中单击“查看代码”选择,就会进入Form1.cs逻辑代码,如图10-4所示。
此时,点击鼠标右键,在显示的快捷菜单中选择“查看设计器”选项,就可以切换到)Form1.cs[设计]界面。
这种设计界面和逻辑代码分开的设计模式,使得文件结构清晰,易于维护。
图10-4 Form1.cs逻辑代码3. Form1.Designer.cs文件Form1.Designer.cs文件用于在窗体类中自动生成控件的初始化代码,例如将Button按钮拖放到Form1窗体上,Form1.Designer.cs文件会自动生成如下代码,如图10-5所示。
WINFORM--第五讲(窗体类型)窗体类型:SDI MDI单⽂档窗体界⾯,多⽂档窗体界⾯⼀、单⽂档窗体界⾯:有⼀个主窗体,其它的窗体是辅窗体和对话框。
主窗体⼀旦关掉,整个程序全部结束。
案例⼀:如何做登录?1.确定好主窗体。
在Program.cs⽂件中的Main函数,使⽤Application.Run()启动主窗体。
Application.Run(new Main());2.做⼀个登录窗体。
登录验证完成后,不要关闭窗体,也不要显⽰主窗体。
只需要给this.DialogResult赋个值即可。
DialogResult 表⽰窗⼝关闭后返回⼀个窗⼝的结果private void button1_Click(object sender, EventArgs e){//验证⽤户名和密码是否正确if (textBox1.Text == "aaa" && textBox2.Text == "bbb"){this.DialogResult = System.Windows.Forms.DialogResult.OK;}else{textBox1.Text = "";textBox2.Text = "";}}3.在Program.cs的Main函数中,在Application.Run()运⾏主窗体之前,启动登录窗体(⽤对话框的形式启动)如果对话框返回成功的标识时(对话框随后就会关闭),就运⾏下⾯的Application.Run();Form1 f = new Form1();DialogResult result = f.ShowDialog();if (result == DialogResult.OK){Application.Run(new Main());}⼆、多⽂档窗体界⾯:⼀个⽗窗体,⾥⾯包含多个⼦窗体。
⼦窗体⽆法移到⽗窗体外⾯,⽗窗体关掉⼦窗体全部关闭。
C#⾮模式窗体show()和模式窗体showdialog()的区别对话框不是模式就是⽆模式的。
模式对话框,在可以继续操作应⽤程序的其他部分之前,必须被关闭(隐藏或卸载)。
例如,如果⼀个对话框,在可以切换到其它窗体或对话框之前要求先单击“确定”或“取消”,则它就是模式的。
⼀、如何调⽤任何窗体(派⽣于基类Form的类),都可以以两种⽅式进⾏显⽰。
//⾮模式窗体From qform=new Form();qform.Show();//模式窗体Form qform=new Form();qform.ShowDialog();⼀、控制权上的区别Form.Show创建新窗体后(⾮模式),⽴即返回,且没有在当前活动窗体和新窗体间建⽴任何关系,即在保持新窗⼝的情况下关闭(或最⼩化)现有窗体或在保留现有窗体情况下关闭(或最⼩化)新窗⼝,都是可以的。
Form.ShowDialog创建模式窗体,即只有当建⽴的新窗⼝关闭之后,原有窗体才能重新获得控制权。
即如果不关闭新窗⼝,将⽆法对原活动窗⼝进⾏任何操作。
对新窗⼝进⾏的最⼩化、还原将会和原窗⼝⼀起进⾏,但是新窗⼝的关闭对原窗⼝没有影响。
需要注意的是,不管是何种情况,只要主窗体被关闭了,或主程序结束了,那么Application.Run将会关闭所有窗体,不管它是模式还是⾮模式。
⼆、Owner属性带来了什么上⾯所讲的是不建⽴拥有关系时的窗体。
当为窗体间建⽴了拥有关系,情况就会有所变化。
1、⾸先看⾮模式的情况。
为⾮模式新窗⼝建⽴拥有关系的⽅法是修改其Owner属性。
(默认情况下,⾮模式窗⼝不存在拥有者)form.Owner=this; //假设当前窗⼝是新窗⼝的拥有者form.Show();很显然,新建的⾮模式窗体已经被认为是原活动窗体的⼦窗体,原窗⼝的⾏为将会影响新窗⼝,所以我们姑且把它们称作⽗窗⼝和⼦窗⼝之间的关系。
那么,改动后会有什么显著的变化呢?主要有两点:第⼀,⽗窗⼝最⼩化、还原或关闭,⼦窗⼝也将随之最⼩化、还原或关闭。