首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb6中的针对form的visiblechanged应该如何调用

2012-03-27 
vb6中的针对form的visiblechanged应该怎么调用?Private Sub Form2_VisibleChanged(ByVal sender As Object

vb6中的针对form的visiblechanged应该怎么调用?
Private Sub Form2_VisibleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.VisibleChanged
  If Me.Visible = True Then
  MsgBox("True")
  Else
  MsgBox("false")
  End If
  End Sub

看到别人的vb.net的代码是这样写的,现在我需要把它转移到vb6上,我是这样定义的:
Private Sub Form2_VisibleChanged(ByVal sender As Object, ByVal e As EventArgs),结果提示“用户定义类型未定义”,我又改成:Private Sub Form2_VisibleChanged(),结果这里的代码根本不会被调用。我是不是还要引用什么或者添加什么部件?


[解决办法]
VB6没有这个事件。

看看写在Actived事件里面行不行。
[解决办法]
Activate、Deactivate 事件


Activate -当一个对象成为活动窗口时发生。


Deactivate -当一个对象不再是活动窗口时发生。 
语法

Private Sub object_Activate( )

Private Sub object_Deactivate( )

object 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。

说明

一个对象可以通过诸如单击它,或使用代码中的 Show 或 SetFocus 方法之类的用户操作而变成活动的。

Activate 事件仅当一个对象可见时才发生。例如,除非使用 Show 方法或将窗体的 Visible 属性设置为 True,否则,一个用 Load 语句加载的窗体是不可见的。

Activate 和 Deactivate 事件仅当焦点在一个应用程序内移动时才发生。在另一个应用程序中将焦点移向或移离一个对象时,不会触发任何一个事件。当一个对象卸载时,不会发生 Deactivate 事件。

Activate 事件在 GotFocus 事件之前发生,LostFocus 事件在 Deactivate 事件之前发生。

对 MDI 子窗体来说,这些事件仅当焦点从一个子窗体改变到另一个子窗体时才会发生。例如,在一个带有两个子窗体的 MDIForm 对象中,当焦点在子窗体之间移动时,它们能接收这些事件。然而,当焦点在一个 MDI 子窗体和一个非 MDI 子窗体之间移动时,父 MDIForm 将接收 Activate 和 Deactivate 事件。

如果一个由 Visual Basic 建立的 .exe 文件显示一个对话框,此对话框也是由建立在 Visual Basic 中的一个 .dll 文件所创建的,那么.exe 文件的窗体将获得 Deactivate 和 LostFocus 事件。这可能是不期望的,因为下列情况下不应获得 Deactivate 事件: 

如果对象是一个过程之外的部件。


如果对象不是用 Visual Basic 编写的。


在开发环境中调用一个 Visual Basic 建立中的 DLL 时。 

热点排行