窗体的关闭事件
- 格式:doc
- 大小:34.50 KB
- 文档页数:3
一、事件过程1、事件:就是在窗体和控件上进行能够识别的动作而执行的操作!2、事件分类:键盘事件、鼠标事件、对象事件、窗口事件、操作事件(1)键盘事件:键按下、键释放、击键。
(2)鼠标事件:单击事件(click)、双击事件(dbclick)(3)对象事件:获得焦点、失去焦点(4)窗口事件:打开(窗体打开,但第一条记录显示之前发生)、关闭加载(打开窗体,并显示他的记录时发生,在打开之后)3、想要在发生某事件时执行某些命令,可以设置该事件属性结合到某宏上或者设置该事件过程。
4、事件过程:在某事件发生时执行的代码5、分类:控件事件过程和窗体事件过程二、控件事件1、控件事件过程设置语法:Private Sub 控件名_事件名()语句块End sub表示某控件发生该事件时执行该语句块2、控件属性(1)Fontsize:字体大小例1:修改标签控件的字体大小。
bel.fontsize=30bel.fontsize= bel.fontsize +10例2:bel.caption= bel.fontsize(2)Caption属性:标题例1:bel.caption=”呵呵”例2:Label.caption=command.captioncommand.capation= Label.caption例3:将文本框的内容传给标签的标题Label.caption=Text1或text1=label1.caption例:将标签的大小随着文本框的数值大小而改变。
Label.fontsize=text1(3)visible:可见性;其值为TRUE—可见;FALSE-不可见例:两个命令按钮实现标签控件的可见性。
Label1.visible=false(4)enable 是否有效,是否可用;TRUE—可用;FALSE-不可用,不会影响任何事件。
Command0.enable=false三、窗体事件1、窗体的属性(1)Caption:标题例:单击命令按钮修改窗体的标题Me.caption=”计算机课程”注意:赋值语句的使用(2)recordsource:记录源例:对学生信息表的表格式窗体修改数据源Me.recordsource=”select * from 学生信息表where 性别=’男’”或 Me.recordsource=”学生表查询”(3)TimerInterval:计数器间隔,单位为毫秒2、窗体事件(1)窗体事件命名方式Private Sub form_事件名()语句块End sub(2)窗体打开事件例:bel1.caption=”a”(3)窗体计时器事件每隔计时器间隔(timerinterval)时间,事件就会激发一次,修改计时器间隔属性,他的数值是以毫秒为单位,修改属性为0 就会停止计时。
《VB程序设计教程》(第4版)习题解答单元一巩固与提高答案一、选择题1. Visual Basic 6.0分为3种版本,不属于这3种版本的是A)学习版B)专业版C)企业版D)业余版【答】D。
2. 下列方法中不能退出Visual Basic的是A)按Alt+Q组合键B)按下Alt+F组合键,然后按Esc键C)按F10键,然后按F键,再按X键D)打开“文件”菜单→“退出”命令【答】B。
3. Visual Basic集成的主窗口中不包括A)属性窗口B)标题栏C)菜单栏D)工具栏【答】A。
4. 下列操作可以打开立即窗口的是A)Ctrl+D B)Ctrl+F C)Ctrl+G D)Ctrl+E【答】C。
二、填空题1. 与传统的程序设计语言相比,Visual Basic最突出的特点是____。
【答】事件驱动编程机制。
2. 如果不使用鼠标,用键盘打开菜单和执行菜单命令,第一步应按____键。
【答】功能键F10或Alt键。
3. 建立一个新的标准模块,应该选择____菜单下的“添加模块”命令。
【答】“工程”菜单。
三、思考题1. 简述Visual Basic的特点。
【答】与一般的程序设计语言相比,VB具有以下特点:(1) 可视化的设计平台;(2) 面向对象的设计方法;(3) 事件驱动的编程机制;(4) 结构化的设计语言;(5) 充分利用Windows资源;(6) 开放的数据库功能与网络支持。
2. 简述Visual Basic集成开发环境的组成。
【答】VB 6.0集成开发环境除了具有标准Windows环境的标题栏、菜单栏、工具栏外,还有工具箱、属性窗口、工程管理器窗口、窗体设计器、立即窗口、窗体布局窗口等有用的开发工具。
(1) 标题栏和菜单栏:标题栏中显示的有窗体控制菜单图标、当前激活的工程名称、当前工作模式以及最小化、最大化∕还原、关闭按钮。
菜单栏中显示了“文件”、“编辑”、“视图”、“工程”、“格式”等菜单项,其中包含了VB编程的常用命令。
VB课堂练习一一.填空题1.在对象名与事件名之间用[ ]符号连接。
窗体的对象名用[ ]表示。
2.Visual Basic 的窗体和控件是具有自己的[ ]、[ ]和方法的对象。
3.窗体和控件的大部分属性可以通过[ ]设置、也可以通过[ ]设置。
4.在面向对象程序设计中,对象是一个由[ ]和[ ]组成的概念。
5.Visual Basic 中的对象包括[ ]、[ ]和[ ]。
6.Name属性的含义是[ ],窗体的默认Name属性是[ ]。
7.Show 方法的作用是[ ],Hide 方法的作用是[ ]。
8. 一个窗体对象,其最先发生的事件是[ ]事件,最后发生的事件是[ ]事件。
9. 移动窗体时,为了初始化该窗体中的各控件,可选用窗体的[ ]事件;关闭窗体用[ ]事件。
10.窗体对象可以识别KeyPress、KeyUp、KeyDown事件,在按下某键时,这三个事件发生的顺序是:[ ]、[ ]、[ ]。
二.选择题1.在Visual Basic设计界面中不能隐藏的窗口是( )。
A)工程窗口B)属性窗口C)立即窗口D)窗体窗口2.以下可以构成语句的一项是( )。
A)对象名.属性B)对象名.方法名C)对象名.事件名D)对象名.函数名3.以下不是Visual Basic 的特点的选项是( )。
A)可视编程B)算法设计C)事件驱动D)面向对象4.在Visual Basic中通过( )属性来设置字体的颜色。
A)FontColor B)ClipControlC)BackColor D)ShowColor5.设置窗体的绘图方式是否在Paint事件中重绘整个窗体内容利用( )属性。
A)ControlBox B)ClipControlC)BordeStyle D)AutoRedraw7.( )是由Visual Basic提供的一种专门的子程序,由对象本身所具有,反映该对象功能的内部函数或过程。
A)文件B)属性C)方法D)窗体8.以下不属于同类的是( )。
窗体组件(TForm)的事件窗体组件最重要的一些事件主要是在窗体创建和关闭时产生的事件。
在创建窗体时,将会依次发生下列事件:OnCreate;OnShow;OnActivate;OnPaint。
1.OnCreate事件在创建窗体时会产生这一事件。
主窗体的这一事件经常用于对程序作一些初始化,如分配内存、为一些变量设置初始值等。
2.OnShow事件窗体显示时(即是窗体的V isible属性被设为True时)会产生这一事件。
3.OnActivate事件当窗体变为活动窗体时,会产生这一事件。
下面的代码表示当窗体Forml为活动窗体时,其标题(Caption)变为“活动窗体”:VOid fastcall TForml::FormActivate(TObject Sender){Caption=”活动窗体”;)4.OnPaint事件当窗体重画时发生这一事件,利用OnPaint事件加代码可以进行重画窗体时的特殊处理,例如在窗体尺寸变更时需要重画窗体,就会产生这一事件。
5.OnClick事件当鼠标在窗体上单击的时候发生该事件。
6.OnClick事件当鼠标在窗体上单击的时候发生该事件。
7.OnClose事件当关闭窗体的时候发生该事件,利用在OnClose事件加代码可以进行关闭窗体时的特殊处理。
该事件有一个TcloseAction类型的Action参数。
8.OnCloseQuery事件用OnCloseQuery可以指定窗体关闭的条件。
9.OnDestroy事件当窗体被删除时发生这一事件,利用在OnDestroy事件加代码可以进行删除窗体时的特殊处理。
10.OnHelp事件当窗体收到请求帮助时发生这一事件。
11.OnHide事件当窗体被隐藏时(窗体的V isible属性设置为False时)发生收到请求帮助时发生这一事件。
12.OnResize事件当窗体改变大小的时候发生这一事件,利用在OnResize事件加代码可以进行改变窗体大小的时候做特殊处理。
winform关闭窗体FormClosing事件⽤法介绍在窗体中有FormClosing这个事件,这个事件是在窗体关闭时候运⾏的。
如果要取消某个事件的操作,那么就在该事件中写上e.Cancel=true就能取消该事件,也就是不执⾏该事件。
所以,你要在窗体关闭时候,跳出⼀个窗⼝提⽰是否关闭窗体,如果选择不关闭,那么写上e.Cancel=true就可以了,如果选择关闭,那么写上e.Cancel=false。
⽰例代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace RedisDemo{public partial class FrmMain : Form{public FrmMain(){InitializeComponent();}/// <summary>/// 窗体关闭事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void FrmMain_FormClosing(object sender, FormClosingEventArgs e){// 弹出提⽰框DialogResult result = MessageBox.Show("确定要关闭窗体吗?", "提⽰", MessageBoxButtons.YesNo, rmation);if (result == DialogResult.Yes){// 关闭窗体e.Cancel = false;}else{// 不关闭窗体e.Cancel = true;}}}}到此这篇关于winform关闭窗体FormClosing事件的⽂章就介绍到这了。
Delphi窗体事件执⾏顺序及说明Delphi 窗体事件执⾏顺序及说明1、常⽤的事件说明:OnActivate:当窗体被初始激活时,就会发⽣OnActivate事件,当初始创建窗体或者⽤户从⼀个窗体切换到另⼀个窗体时,就可能激活窗体,Application对象也有⼀个OnActivate事件,当⽤户从⼀个应⽤程序切换到另⼀个应⽤程序时,就会产⽣此事件。
OnClose:当关闭⼀个应⽤程序时,就要发出OnClose事件OnCloseQuery:OnClose事件调⽤OnCloseQuery事件来看⼀看是否真的要关闭窗体,如果OnCloseQuery事件返回False,窗体就不会关闭。
OnCreate:当窗体初始化创建时,就会发⽣OnCreate事件,对特定窗体的任何实例,OnCreate事件只发⽣⼀次,OnCreate处理程序只是⽤来执⾏任何启动任务,这些启动任务对于窗体来说是需要的。
OnDestroy:OnDestroy事件是OnCreate的反事件,⽤来清除窗体动态分配的所有内存,或者做其他⼀些清理事务。
OnDragDrop:当⼀个对象被拖放到窗体上时,就会发⽣OnDragDrop事件,如果窗体⽀持拖放,那么就会对这个事件有所响应。
OnMouseDown:⿏标点击执⾏事件OnMouseMove:⿏标移动执⾏事件OnMouseUp:⿏标点击后放开执⾏事件OnPaint:每当窗体需要重画时,就会发⽣OnPaint事件,有很多原因会导致这个事件发⽣。
响应这个事件,可以作为应⽤程序所需要的任何画图,并随时可以显⽰出来。
在⼤部分情况下,专⽤组件会⾃⼰画图,但有些情况下,我们需要⾃⼰动⼿画图。
OnResize:每当重新缩放窗体时,就会发⽣OnResize事件,响应这个事件可以调整窗体上的组件或者对窗体重画。
OnShow:在窗体变成可见之前,就会发⽣OnShow事件。
在窗体显⽰之前,可以⽤这个事件完成图昂提需要处理的任何事情。
国家二级ACCESS机试选择题(宏)-试卷1(总分:44.00,做题时间:90分钟)一、选择题(总题数:22,分数:44.00)1.Access中将一个或多个操作构成集合,每个操作能实现特定的功能,则称该操作集合为(分数:2.00)A.窗体B.报表C.查询D.宏√解析:解析:宏是由一个或多个操作组成的集合,其中每个操作都实现特定的功能,宏可以是由一系列操作组成的集合。
2.下列关于宏和宏组的叙述中,错误的是(分数:2.00)A.宏组是由若干个宏构成的B.Access中的宏是包含操作序列的一个宏C.宏组中的各个宏之间要有一定的联系√D.保存宏组时,指定的名字设为宏组的名字解析:解析:宏是由一个或多个操作组成的集合,其中每个操作都实现特定的功能。
如果要在一个位置上将几个相关的宏构成组,而不希望对其单个追踪,可以将它们组织起来构成一个宏组,宏组中的各个宏之间不设置并联。
保存宏组时,指定的名字是宏组的名字。
因此选项C错误。
3.要在一个窗体的某个按钮的单击事件上添加动作,可以创建的宏是(分数:2.00)A.只能是独立宏B.只能是嵌入宏C.独立宏或数据宏D.独立宏或嵌入宏√解析:解析:独立宏是独立的对象,它独立于窗体、报表等对象之外,在导航窗格中可见。
因此可以创建独立宏响应按钮的单击事件,不受其他对象约束。
嵌入宏是嵌入在窗体、报表或控件对象的事件中。
是他们所嵌入的对象或控件的一部分。
在导航窗格中不可见,因此也可以创建嵌入宏,直接嵌入按钮的单击事件中。
而数据只是在表事件中自动运行,不符合题意,因此选择D选项。
4.下列运行宏方法,错误的是(分数:2.00)A.单击宏名运行宏√B.双击宏名运行宏C.在宏设计器中单击“运行”菜单“运行”D.单击“工具栏”上的运行按钮解析:解析:若要运行宏可以通过双击宏名运行宏、也可以单击“工具栏”上的“运行”按钮,还可以在宏设计器中单击“运行”菜单下的“运行”按钮,不能使用单击宏名的方法。
C#Winform捕获窗体的最⼩化和最⼤化事件、关闭按钮事件【整理】之前做过⼀些窗体最⼩化之后隐藏窗体到右下⾓托盘的程序,⼀般就⼏个事件和属性的处理:程序启动不显⽰在任务栏,点击最⼩化后隐藏到右下⾓的托盘,点击托盘图标可以弹出程序界⾯。
(具体怎样做读者可以⾃⾏搜索,因为都⼤同⼩异我就不写了)但是最近在做⼀个程序的时候遇到⼀个问题,最⼩化之后虽然不显⽰在任务栏,但是窗体却缩⼩到屏幕的左下⾓,结果还是不能实现真正的隐藏。
可是我找出以前写的⼀些程序来看,运⾏没问题啊,最⼩化不会缩⼩到屏幕左下⾓啊,代码也是⼀样的啊,难道~~⼜是⼈品问题 - -!⽬前⽤以前的⽅法仍⽆法解决这个问题,期待⾼⼿解答....好了,于是我⼜去搜了⼀些资料,就是下⾯这块代码了,完美解决,于是开始研究WndProc这个东东...const int WM_SYSCOMMAND = 0x112;const int SC_CLOSE = 0xF060;const int SC_MINIMIZE = 0xF020;const int SC_MAXIMIZE = 0xF030;protected override void WndProc(ref Message m){if (m.Msg == WM_SYSCOMMAND){if (m.WParam.ToInt32() == SC_MINIMIZE) //是否点击最⼩化{//这⾥写操作代码this.Visible = false; //隐藏窗体return;}if (m.WParam.ToInt32() == SC_MAXIMIZE ){ //..................... }if (m.WParam.ToInt32() == SC_CLOSE ){ //.....................}}base.WndProc(ref m);}//这个功能是捕获最⼩化按钮事件 ,隐藏当前窗体.。
C#各种结束进程的⽅法详细介绍Process类的CloseMainWindow, Kill, CloseProcess.CloseMainWindow是GUI程序的最友好结束⽅式,从名字上就可以看出来它是通过结束主窗体,相当于⽤户点击窗体的关闭按钮或者按Alt + F4。
它的本质就是向主窗体发送WM_CLOSE消息(Process.MainWindowsHandle可以返回主窗体的句柄)。
这个可以在.NET Framework源代码中看出来:publicbool CloseMainWindow(){IntPtr mainWindowHandle =this.MainWindowHandle;//句柄是否为0if (mainWindowHandle ==IntPtr.Zero){returnfalse;}//GetWindowLong是否成功执⾏if ((NativeMethods.GetWindowLong(new HandleRef(this, mainWindowHandle), -16) &0x8000000) !=0){returnfalse;}//0x10 是 WM_CLOSE消息//向主窗体发送WM_CLOSE,注意是PostMessage⽽不是SendMessageNativeMethods.PostMessage(new HandleRef(this, mainWindowHandle), 0x10, IntPtr.Zero, IntPtr.Zero);returntrue;}CloseMainWindow⽅法使⽤PostMessage(不是SendMessage,所以消息会加在消息队列的最后)⽅法向主窗体发送⼀个WM_CLOSE消息,这样等主窗体处理完所有消息后,等遇到WM_CLOSE便开始执⾏退出动作。
⽐如记事本接到了WM_CLOSE消息但是有未保存的⽂件记事本会弹出对话框提⽰⽤户保存还是不保存还是取消退出操作。
OLE对象类型用于存储链接或嵌入的对象,这些对象以文件形式存在,其类型可以是Word文档、Excel电子表格、图像、声音或其他二进制数据。
超链接字段以文本形式保存超链接的地址,用来链接到文件、Web页、电子邮件地址、本数据库对象、书签或该地址所指向的Excel单元格范围。
附件类型用于存储所有种类的文档和二进制文件,可将其他程序中的数据添加到该类型字段中,可将Word文档添加到该字段中,或将一系数码图片保存到数据库中,但不能键入或以其他方式输入文本或数字数据。
Access里通配符用法:"[]":用于匹配方括号内任何单个字符。
"*":通配任何个数的字符,它可以在字符串中当做第一个或最后一个字符使用。
"?":通配任何单个字母的字符。
"!":通配任何不在括号之内的字符。
"-":通配范围内的任何一个字符,必须以递增排序来指定区域(A到Z)。
"#":通配任何单个数字字符。
在打开窗体时,将按如下顺序发生相应的事件:Open→Load→Resize→Activate→Current当关闭窗体时,将按如下顺序发生相应的事件: Unload→Deactivate→Close"制表位"属性:如果某个控件要Tab键忽略跳过,可以把其制表位属性设为否。
"Tab键索引"属性:作用是响应键盘操作Tab键或Enter键时的焦点转移顺序。
"自动Tab键"属性:用以指定当输入文本框控件的输入掩码所允许的最后一个字符时,是否发生自动tab键切换。
自动tab键切换会按窗体的tab键顺序将焦点移动到下一个控件。
"Enter键行为"属性:规定了在文本框中按下Enter键后产生的操作,有"默认值"和"字段中新行"两种选项。
54题假定有一个菜单项,名为MenuItem,为了在运行时使该菜单项失效(变灰),应使用的语句为(A)。
A.MenuItem. Enabled=FalseB.MenuItem. Enabled=TrueC.MenuItem. Visible=TrueD.Menultem. Visible=False决定一个窗体有无控制菜单的属性是(D)。
A.MinButtonB.CaptionC.MaxButtonD.ControlBox以下可以构成语句的一项是(B)。
A.对象名.属性B.对象名.方法名C.对象名.事件名D.对象名.函数名在窗体支持的事件中,由系统自动触发的事件是(C)事件。
A.Load和UnloadB.Click和DblClickC.Initialize和LoadD.MouseDown和MouseUp下列语句中错误的是(C)。
A.Text1.Text=List1.Textbel1.Caption=List1.TextC.List1.List(1)=List1.Text+List1.ListIndexmand1.Caption=+List1.Text下列叙述中正确的是(C)。
A.任何一个对象的所有属性既可在属性窗口中设置,也可以以程序代码的方式设置B.在属性窗口中设置的属性是在设计阶段完成的,因而这些属性值不能改变C.在程序中通过编程设置属性值是在运行阶段给属性赋值D.用程序方式给属性赋值的格式是“属性名:属性值”下列既可用于输入数据又可用于输出数据的控件是(B)控件。
belB.TextBoxC.ListBoxD.OptionButton要使标签能够显示所需要的文本,则在程序中应设置(A)属性的值。
A.CaptionB.TextD.AutoSize下列控件对象中,属于文本框控件对象是(C)。
MAND1BEL2C.TEXT3D.OPTION4VB中可用(D)语句产生一消息框。
A.InputBoxB.ShiftC.BothD.MsgBox在窗体Form1的标题栏中显示“VisualBasic窗体"的命令是(C)。
vba 定义的窗体关闭后回到当前文件
当我们在Excel或Word中通过VBA定义了一个窗体后,用户关闭窗体后通常会跳转到当前应用程序的其他窗口或工作表。
这可能会给用户带来些许不便,因此我们可以通过以下方法实现窗体关闭后回到当前文件。
1. 首先,在 VBA 中定义窗体的代码中添加以下语句:
Application.ScreenUpdating = False
这将禁用屏幕更新,以避免用户在关闭窗口时看到闪烁的屏幕。
2. 然后,在窗体的“关闭”按钮的点击事件中添加以下代码: Unload Me
Application.ScreenUpdating = True
Windows().Activate
第一行代码将关闭当前窗体,第二行代码将重新启用屏幕更新,第三行代码将激活当前工作簿的窗口,使用户返回到当前文件。
通过以上方法,我们可以实现窗体关闭后回到当前文件,提高用户的使用体验。
- 1 -。