vb中单击命令按钮触发哪些事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb中单击命令按钮触发哪些事件相关的知识,希望对你有一定的参考价值。
1、在vb中单击命令按钮触发单击事件,即窗体的Click事件。
2、在vb中单击命令按钮触发失去焦点事件,当焦点不在按钮上即发生。
3、在vb中单击命令按钮触发键盘按下事件,任意按下任意的键盘即可触发事件。
4、在vb中单击命令按钮触发鼠标按下事件,当鼠标按下即可触发的事件,无论是左键还是右键。
5、在vb中单击命令按钮触发鼠标移动事件,当鼠标移动到键盘上面即可发生。
参考技术A 1.鼠标事件:所谓鼠标事件,就是在vfp应用程序的运行界面中,用鼠标对其中的对象进行操作所触发和事件.(1).click事件:是鼠标单击时所产生的事件.click事件既可由用户触发,也可由执行事件的程序代码触发.
(2).dbclick事件:双击鼠标时产生的事件.
(3).mousedown和mouseup事件:当鼠标指针指向对象并按下鼠标左键时触发mousedown事件,当释放鼠标左键时触发mouseup事件.
(4).mousemove事件:在对象上移动鼠标指针时产生的事件.
(5).dragdrop事件:用鼠标拖动对象时产生的事件.
(6).downclick和upclick事件:当用鼠标单击组合框、列表框或微调器的向下箭头时,触发downclick事件;单击向上箭头时,触发upclick事件.
2.键盘事件keypress:单击某一键时产生的事件.通常对获取焦点的对象,当按下键盘键并放开时触发keypress事件.参数:键ascⅱ码,shiftctrlalt状态
其中,shiftctrlalt状态为三键值的和.shift值为1,ctrl值为2,alt值为4
3.改变对象内容事件interactivechange:当用操作改变对象内容时交触发此事件,比如改变文本框中的内容将触发文本框的interactivechange事件.
4.对象的焦点事件:当对象取得焦点(focus)时,该对象将成为当前活动对象,操作将面向该对象.若文本框取得焦点,光标将在文本框中闪烁,指明编辑文本的当前位置.当命令按钮获得焦点时,按钮框内出现虚线框.属于控件焦点的事件有:获取焦点,失去焦点以及获取和失去焦点前触发的事件.
(1).获取焦点事件gotfocus:当对象获取焦点时将触发gotfocus事件,而获取焦点的方法可以通过按tab键,鼠标单击对象或对对象使用setfocus方法.注意:只有对象的enabled和visible属性为\"真\"(.t.)时,对象才能获得焦点.
(2).失去焦点事件lostfocus:当对象失去焦点时将触发该事件.对象可能因操作失去焦点,例如重新选择对象或单击另一对象;也可能在程序代码中执行获取焦点的方法setfocus.失去焦点的事件代码常用于取消gotfocus事件代码所做的工作,例如取消在执行gotfocus事件过程代码所提供的指导用户操作信息.
(3).when事件:此事件在对象获取焦点前发生.如果when事件返回真值,则对象可获取焦点;否则对象不能获取焦点.
(4).vaid事件:在对象失去焦点前触发此事件,以控制对象是否真的失去焦点.若vaid返回真值,对象才可失去焦点;否则对象不会失去焦点.
5.表单事件:
(1).load事件:load事件在创建表单集或表单之前触发,其事件过程代码常用于做表单集或表单的初始化工作.如果是表单集,则先触发表单集的load事件,然后触发表单的load事件.
(2).unload事件:unload事件是释放表单集或表单之前被触发的最后一个事件.在触发该事件之前先触发表单或表单集的destroy事件,使对象无效.例如,释放表单集时触发的destroy和unload事件顺序如下所示: 参考技术B (2).Dbclick事件:双击鼠标时产生的事件.(3).mousedown和mouseup事件:当鼠标指针指向对象并按下鼠标左键时触发mousedown事件,当释放鼠标左键时触发mouseup事件.(4).mousemove事件:在对象上移动鼠标指针时产生的事件.(5).dragdrop事件:用鼠标拖动对象时产生的事件.(6).downclick和upclick事件:当用鼠标单击组合框、列表框或微调器的向下箭头时,触发downclick事件;单击向上箭头时,触发upclick事件.2.键盘事件keypress:单击某一键时产生的事件.通常对获取焦点的对象,当按下键盘键并放开时触发keypress事件.参数:键ASCⅡ码,shiftctrlalt状态其中,shiftctrlalt状态为三键值的和.shift值为1,ctrl值为2,alt值为43.改变对象内容事件interactivechange:当用操作改变对象内容时交触发此事件,比如改变文本框中的内容将触发文本框的interactivechange事件.4.对象的焦点事件:当对象取得焦点(focus)时,该对象将成为当前活动对象,操作将面向该对象.若文本框取得焦点,光标将在文本框中闪烁,指明编辑文本的当前位置.当命令按钮获得焦点时,按钮框内出现虚线框.属于控件焦点的事件有:获取焦点,失去焦点以及获取和失去焦点前触发的事件.(1).获取焦点事件gotfocus:当对象获取焦点时将触发gotfocus事件,而获取焦点的方法可以通过按tab键,鼠标单击对象或对对象使用setfocus方法.注意:只有对象的enabled和visible属性为\"真\"(.T.)时,对象才能获得焦点.(2).失去焦点事件lostfocus:当对象失去焦点时将触发该事件.对象可能因操作失去焦点,例如重新选择对象或单击另一对象;也可能在程序代码中执行获取焦点的方法setfocus.失去焦点的事件代码常用于取消gotfocus事件代码所做的工作,例如取消在执行gotfocus事件过程代码所提供的指导用户操作信息.(3).when事件:此事件在对象获取焦点前发生.如果when事件返回真值,则对象可获取焦点;否则对象不能获取焦点.(4).vaid事件:在对象失去焦点前触发此事件,以控制对象是否真的失去焦点.若vaid返回真值,对象才可失去焦点;否则对象不会失去焦点.5.表单事件:(1).load事件:load事件在创建表单集或表单之前触发,其事件过程代码常用于做表单集或表单的初始化工作.如果是表单集,则先触发表单集的load事件,然后触发表单的load事件.(2).unload事件:unload事件是释放表单集或表单之前被触发的最后一个事件.在触发该事件之前先触发表单或表单集的destroy事件,使对象无效.例如,释放表单集时触发的destroy和unload事件顺序如下所示:(3).activate事件:当激活表单等对象时触发activate事件.通常可在调用对象的show方法时触发该事件用来激活或显示对象.(4).deactivate事件:当容器对象没有焦点而处于非活动状态时触发deactivate事件.常见于当激活新对象时,触发原活动对象的deactivate事件,同时触发新对象的activate事件.6.其它事件:(1).timer事件:在每次计时时间到达时触发timer事件,计时间隔由timer控件的interval属性来指定.(2).init事件:在对象建立时,其init事件被触发.通常在init事件代码中编写有关对象的初始化的操作,如加载图片对象中的图片等.对容器对象来说,首先触发的是对象的init事件,然后触发容器的init事件.因此,容器的init事件代码可访问容器中的每个对象.此外,容器中对象的init事件,与它们被添加到容器中的顺序相同.(3).destroy事件:在对象被释放前触发其destroy事件,使该对象无效.如果对象是一个容器,则首先触发其中的对象的destroy事件,然后触发容器对象的destroy事件.(4).error事件:此事件在执行对象的方法程序代码时出错时被触发.可用该事件的程序代码处理错误.7.为事件编写代码:如果没有为对象的某些事件编写代码,当事件发生时系统将不会发生任何操作.比如,不给命令按钮添加任何代码,运行时,用户即使单击该命令按钮,也不会产生任何操作.(1).在设计时,要为一个对象的某个事件添加代码,在需双击该对象,即会弹出代码窗口,在该窗口上方的\"过程\"列表中和选择事件名称,在下方添加所需的代码.(2).在编写事件代码时,要考虑事件发生的顺序,特别要注意以下两点:本回答被提问者采纳
导航栏按钮单击事件在单击其下方区域时触发。
【中文标题】导航栏按钮单击事件在单击其下方区域时触发。【英文标题】:Navigation bar button click event firing when clicked on area below it. 【发布时间】:2013-03-11 14:42:46 【问题描述】:我将带有自定义视图的导航栏作为右栏按钮项。自定义视图中有两个按钮。但是当我触摸右侧导航栏下方的区域时,它会触发按钮触摸事件。我已经通过更改背景颜色检查了按钮和视图的框架,所有这些都设置得很好。 我检查了默认的 iOS 应用程序,如时钟、日历、设置、笔记等,它们都有相同的行为。在屏幕截图(默认 iOS 日历应用程序)中触摸红色矩形。触发按钮的触摸事件同样发生在我的应用程序中..
这是代码..
UIView* navigationButtonsView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 100.0f, 44.0f)];
UIButton *p = [UIButton buttonWithType:UIButtonTypeCustom];
[p setImage:[UIImage imageNamed:@"PBtn.png"] forState:UIControlStateNormal];
[p addTarget:self action:@selector(PButtonPushed:) forControlEvents:UIControlEventTouchUpInside];
[p setFrame:CGRectMake(43, 0, 57, 44)];
[navigationButtonsView addSubview:p];
UIButton *o = [UIButton buttonWithType:UIButtonTypeCustom];
[o addTarget:self action:@selector(oButtonPushed:) forControlEvents:UIControlEventTouchUpInside];
[o setFrame:CGRectMake(0, 0, 38, 44)];
[o setImage:[UIImage imageNamed:@"O.png"] forState:UIControlStateNormal];
[navigationButtonsView addSubview:o];
UIBarButtonItem *barItem = [[UIBarButtonItem alloc] initWithCustomView:navigationButtonsView];
[musicVC.navigationItem setRightBarButtonItem: barItem animated:NO];
如何更改导航栏按钮的默认 iOS 行为?因为 m 在这些按钮下方有一些 UI,因此它的顶部区域没有响应。 提前谢谢..
【问题讨论】:
【参考方案1】:这是正常行为 - 两个原因:
iOS 不知道您的手指有多大 - 所以它必须决定触摸的位置。在这种情况下,导航栏会覆盖表格视图。
这可能与人机界面指南有关(抱歉,没有链接。谷歌它)说最小可触摸区域必须为 44 像素。这种行为可能是试图符合这些要求的“UIBarButtonItem”。
【讨论】:
以上是关于vb中单击命令按钮触发哪些事件的主要内容,如果未能解决你的问题,请参考以下文章