精华内容
下载资源
问答
  • VB.NET中8个主要的事件执行顺序

    千次阅读 2013-02-28 09:19:36
    VB.NET几个主要的事件执行顺序: >>>显示窗体过程中 new HandleCreated Load Activated '这个事件以后可以被触发多次,每当用户激活窗体是都会触发此事件 >>>关闭窗体过程中 Closing ' 这里可以...
    VB.NET几个主要的事件执行顺序: 

    >>>显示窗体过程中
    new
    HandleCreated
    Load
    Activated '这个事件以后可以被触发多次,每当用户激活窗体是都会触发此事件

    >>>关闭窗体过程中
    Closing ' 这里可以阻止窗体的关闭,过了这一关以后就没法控制被关闭了.
    Closed
    Deactivate '与Activated对应
    HandleDestroyed
    展开全文
  • 计算机程序执行的控制流程由三种基本控制结构组成,即:顺序结构,选择结构,循环结构。程序是计算机灵魂,它也由以上三种结构构成。下面是vb这门语言结构:

        计算机程序执行的控制流程由三种基本控制结构组成,即:顺序结构,选择结构,循环结构。程序是计算机的灵魂,它也由以上三种结构构成。下面是vb这门语言的结构:

    展开全文
  • 前几天看周爱民先生《大道至简--软件工程实践者思想》(http://www.doany.net/)时看到书中谈到Windows的事件激发顺序,以及对其他过程影响问题,今天就不期然遇到一个大概类似问题。 这些天写一个...

    前几天看周爱民先生的《大道至简--软件工程实践者的思想》(http://www.doany.net/)时看到书中谈到Windows的事件激发顺序,以及对其他过程的影响的问题,今天就不期然遇到一个大概类似的问题。

    这些天写的一个系统,晚上发现偶尔会有不期然的事情发生:在执行一个数据库查询后返回的结果不一致,很是奇怪。初始代码是VB6,流程很简单,一个窗体有一个查询的方法,大概如下的代码:

    Public Sub RefreshDb(strSQL As String)
        '记录结果的集合
        Set c = New Collection
    DBQuery:  
        '查询代码
        ...
    End Sub

    方法查询的时候将结果的一部分写入集合c,供后续其他操作使用,并同时填充查询结果到一个Grid界面。在窗体的Load方法里也调用了这个方法,得到缺省的结果。

    在VB6下,如果窗体没有初始化,调用顺序是:
    (1)执行RefreshDb在“DBQuery:”之前的代码;
    (2)调用Form的Load事件;
    (3)等Load事件中的代码执行完毕后返回来执行“DBQuery:”之后的代码。

    因此由于集合c没有New,调用RefreshDb的过程中中断了执行,调用了Load事件(其中又调用了RefreshDb),然后再回来,导致了结果不一致。

    按照想法,要么是先执行Load事件,要么是先执行RefreshDb这个方法,然后调用Load事件(在VB.net 2005下是这样),但VB 6下,Load事件应该是在窗体显示或者窗体的某个变量第一次初始化时调用,上面代码中因为调用了对集合的初始化,因此执行了Load事件。VB 6的Load事件有构造函数的一些含义,而VB.net则完全是面向对象,New为构造函数,Load是窗体显示前的一个事件。对于VB 6程序员,这些差别应该注意。反过来,对于这个问题,如果是.net下的顺序,那么问题也很容易发现 :)。

    正确的方法是先初始化窗体,例如调用Show或者Activate(.net,VB下为Show和SetFoucs)方法,然后调用RefreshDb,或者启动后就将该窗体初始化。因此开发中,窗体的事件激发顺序必须明确,否则会造成不必要的麻烦;第二,个人觉得,除非必要,例如项目要求或者平台的一些限制(包括硬件),VB 6程序员是抛弃老平台的时间了。

    转载于:https://www.cnblogs.com/maweifeng/archive/2005/12/13/296322.html

    展开全文
  • 使用VB6开发时Listbox中使用右键事件的案例 这里的鼠标点击 Mouseclick API函数执行起来感觉有点慢, 感觉会先到cmdGoTo_Click那里, 顺序就乱了 开始的时候我使用Sleep函数, 发现一用系统就当机了, 好像连想延迟的...

    使用VB6开发时Listbox中使用右键事件的案例

    这里的鼠标点击 Mouseclick API函数执行起来感觉有点慢, 感觉会先到cmdGoTo_Click那里, 顺序就乱了
    开始的时候我使用Sleep函数, 发现一用系统就当机了, 好像连想延迟的mouse event也没有执行, 郁闷
    想了好久才想起了timeGetTime API. 按以下用法解决问题
    API真是个好东西

    Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim daTime As Long
    If Button = 2 Then '这里判断是否是右键
    mouse_event MOUSEEVENTF_LEFTDOWN, X, Y, 0, 0 '自动点击鼠标左键按下
    mouse_event MOUSEEVENTF_LEFTUP, X, Y, 0, 0 '自动点击鼠标左键释放
    daTime = timeGetTime
    Do While timeGetTime - daTime < 200
    DoEvents '释放资源, 来让mouse event 被正常执行
    Loop
    'MsgBox “clicked”
    cmdGoTo_Click
    End If
    End Sub

    顺带把MOUSEEVENT的API列出来供参考
    Private Declare Sub mouse_event Lib “user32” Alias “mouse_event” (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

    【说明】
    模拟一次鼠标事件

    【备注】
    进行相对运动的时候,由SystemParametersInfo函数规定bai的系统鼠标轨迹速度会应用于鼠标运行的速度

    【参数表】
    dwFlags -------- Long,下述标志的一个组合
    MOUSEEVENTF_ABSOLUTE
    dx和dy指定鼠标坐标系统中的一个绝对位置。
    在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元 -
    MOUSEEVENTF_MOVE
    移动鼠标

    MOUSEEVENTF_LEFTDOWN模拟鼠标左键按下

    MOUSEEVENTF_LEFTUP
    模拟鼠标左键抬起

    MOUSEEVENTF_RIGHTDOWN
    模拟鼠标右键按下

    MOUSEEVENTF_RIGHTUP
    模拟鼠标右键按下

    MOUSEEVENTF_MIDDLEDOWN
    模拟鼠标中键按下

    MOUSEEVENTF_MIDDLEUP
    模拟鼠标中键按下

    dx

    • Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向的绝对位置或相对运动

    dy - Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定垂直方向的绝对位置或相对运动

    cButtons ------- Long,未使用

    dwExtraInfo ---- Long,通常未用的一个值。用GetMessageExtraInfo函数可取得这个值。可用的值取决于特定的驱动程序

    以下是timeGetTime的API, 返回系统开机到现在的时间, 单位是毫秒, 存放在一个Long值, ( 有额外示例见资料存放 )
    Private Declare Function timeGetTime Lib “winmm.dll” () As Long

    展开全文
  • 使用方法和 vb Timer控件一样,只是增加了一个 AsynExecute 属性,当设置此属性 = true 时候, Timer 是以异步方式运行, 比如,第 1 次timer事件代码未运行完,第2次就开始了,那么第1次事件代码将暂停,第 3 次.....
  • 走遍天下三大vb控制结构

    千次阅读 2012-05-28 13:42:42
    学习VB编程语言,有些人认为很难,有些人却认为...Visual Basic是采用事件驱动,由用户激发事件去执行相应的事件的处理过程。对于每一个事件处理内部而言,又总包括这三种基本结构。学习VB编程语言真的很简单,学会走遍
  • vb.net如何用线程池实现多线程事件

    千次阅读 2011-11-30 09:49:47
    程序描述如下: 主线程会持续发出一系列EventClock事件,所有10000个CWacher对象都会对每...语句定义的顺序依次执行响应程序。 问题是这样:我希望当第一个EventClock事件发出后,所有CWatcher通过线程池操作
  • VB常用技巧合集

    2014-08-19 16:57:57
    VB常用技巧合集 chm全集,比如ActiveX .Exe ....DAO 中得到存储过程返回值,VB程序中处理随机事件VB应用程序访问SQL Server方法探讨,VB应用程序中用DDE功能开发AutoCAD,按字母或数字顺序排列列表框中列表项……
  • 它是按照事件→消息→处理非顺序执行的操作。可参考下面图解宏观掌控一下: 其中,windows系统也存在消息队列。他存储着基础消息大约500多种,windows能够为已注册应用程序维护一个消息列队。应用程序必须从...
  • 一 单选题 1 Visual Basic .NET 是一 种面向对象可视化程序设计语言采取了( )编程 机制 A)事件驱动 B) 按过程顺序执行 C)从主程序开始执行 D) 按模块顺序执行 2下面选项中 ,属于 VB .NET 程序设计方法是( ) ...
  • VB程序设计及应用

    2012-11-26 14:07:12
    1.2 VB的集成开发环境 1.2.1 启动 VB集成开发环境 1.2.2 用户界面 1.3 各种窗口简介 1.3.1 窗体窗口 1.3.2 工程资源管理器窗口 1.3.3 工具箱窗口 1.3.4 属性窗口 1.3.5 代码窗口 1.3.6 调色板...
  • vb Script参考文档

    2009-07-28 22:13:02
    Class 对象 提供对已创建的类的事件的访问。 Class 语句 声明类名 Clear 方法 清除 Err 对象的所有属性设置。 CLng 函数 返回已被转换为 Long 子类型的变体的表达式。 颜色常数 颜色常数列表。 比较常数 用于...
  • OnClick是服务器端事件处理函数,使用C#或者vb.net,在服务器端,也就是IIS中运行,点击按钮后,执行postback,之后再...Asp.net 中 OnClientClick 与 OnClick 的执行顺序为:客户端的OnClientClick先执行,服务器端的
  • 使用textbox1.selectAll()...此时的执行顺序是,首先selectAll(),接着执行click操作,click会把之前的选中状态取消,所以需要一个思路去解决。这个时候需要用到MouseClick事件。 代码如下: VB.NET Privat...
  • ASP.NET网页代码模型及生命周期

    热门讨论 2009-07-28 14:22:11
    图4-6 代码隐藏页模型页面的执行过程 在客户端浏览器访问该页面时,浏览器会给IIS发送请求消息,IIS则会开始执行ASP.NET编译过程,如果不存在编译过后的DLL文件,则加载编译的类并创建对象。当创建对象完成,生成...
  • 计算机收发短信OCX控件

    热门讨论 2011-04-15 15:03:26
    与OnJDSms事件的不同点: OnSms不读短信,只要接收到短信,就触发此事件; OnJDSms在接收到短信时,马上读取短信,并判断短信是完整的,才触发此事件; 推荐使用OnJDSms。 主要函数: SetupPort --- 设置...
  • 第16章介绍了使用VB开发AutoCAD一些知识(将VBA代码转换到VB中,VB窗体和AutoCAD焦点切换,使用ActiveXDLL封装带有窗体的VB程序)、搜索某个文件夹中所有文件和VBAIDE编程,利用这些知识,完全有可能开发出...
  • SQLServer2008查询性能优化 2/2

    热门讨论 2012-03-02 16:26:55
    1.5.8 不可重用的执行计划 13 1.5.9 低质量的执行计划 13 1.5.10 频繁重编译计划 13 1.5.11 游标的错误使用 13 1.5.12 错误配置数据库日志 14 1.5.13 过多使用或者错误配置tempdb 14 1.6 小结 14 第2章 系统...
  • 1.5.8 不可重用的执行计划 13 1.5.9 低质量的执行计划 13 1.5.10 频繁重编译计划 13 1.5.11 游标的错误使用 13 1.5.12 错误配置数据库日志 14 1.5.13 过多使用或者错误配置tempdb 14 1.6 小结 14 第2章 系统...
  • Excel_VBA教程

    2014-09-22 11:36:34
    15.观察VBA过程的执行 242 16.接下来…… 245 第十二章 使用VBA创建自定义菜单和工具栏 245 1.工具栏 245 2.创建自定义工具栏 247 3.删除自定义工具栏 249 4.使用COMMANDBAR的属性 249 5.使用COMMANDBAR控件 249 6....
  • 2.10.2 事件的处理 110 2.10.3 处理多个事件 111 2.10.4 withevents关键字 111 2.10.5 触发事件 111 2.10.6 声明和触发定制事件 112 2.10.7 用withevents关键字接收事件 113 2.10.8 用addhandler接收...
  • C#微软培训教材(高清PDF)

    千次下载 热门讨论 2009-07-30 08:51:17
    18.2 在 C #代码中调用 C++和 VB 编写组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...
  • 实例146 在VB执行事务 251 实例147 在查询中使用游标 253 实例148 列出网络中所有SQL Server服务器 255 实例149 利用Execute执行SQL语句 256 实例150 解决查询过程中字段类型不同问题 257 实例151 把查询...
  • 实例146 在VB执行事务 251 实例147 在查询中使用游标 253 实例148 列出网络中所有SQL Server服务器 255 实例149 利用Execute执行SQL语句 256 实例150 解决查询过程中字段类型不同问题 257 实例151 把查询...

空空如也

空空如也

1 2 3 4
收藏数 66
精华内容 26
关键字:

vb事件的执行顺序