vb程序设计实用教程 vb程序设计实例100( 六 )



Load Form2

Debug.Print"用Unload卸载窗体时发生的事件:"

UnloadForm2

Debug.Print "窗体第二次装入内存时发生的事件:"

Load Form2

Debug.Print "用Unload卸载窗体时发生的事件:"

Unload Form2

Debug.Print "用Set窗体名=Nothing语句解除初始化时发生的事件:"

Set Form2=Nothing

Debug.Print "窗体第三次(解除初始化后)装入内存时发生的事件:"

Load Form2

End Sub

'Form2窗体事件过程

Sub Form_Initialize()

Debug.Print"Initialize事件"

End Sub

Sub Form_Lond()

Debug.Pnnt"Load事件"

End Sub

Sub Form_QueryUnload(Cancel As hteger, UnloadMode As Integer)

Debug.Print"QueryUnload"

End Sub

Sub Form_Unlond(Cancel As Integer)

Debug.Print"Unload"

End Sub

Sub Form_Terminate()

Debug.Print"Terminate"

End Sub

当用户在Form1上单击时,在Debug窗口显示下列信息:

窗体首次转入内存时发生的事件:

Initialize事件

Load事件

用Unload卸载窗体时发生的事件:

Query Unload

Unload

窗体第二次装入内存时发生的事件:

Load事件

用Unload卸载窗体时发生的事件:

QueryUnload

Unload

用Set窗体名=Nothing语句解除初始化时发生的事件:

Terminate

窗体第三次(解除初始化后)装入内存时发生的事件:

Initialize事件

Load事件

7.MouseDown、MOUSeUp和C1ick事件发生的次序

当用户在窗体或控件上按下鼠标按钮时MouseDown事件被触发,MouseDown事件肯定发生在MouseUp和C1ick事件之前 。但是,MouseUp和Click事件发生的次序与单击的对象有关 。

当用户在标签、文本框或窗体上作单击时,其顺序为:

(1)MouseDown

(2)MouseUp

(3)Click

当用户在命令按钮上作单击时,其顺序为:

(1)MouseDown

(2)Click

(3)MouseUp

当用户在标签或文本框上作双击时,其顺序为:

(1)MouseDown

(2)MOuseUp

(3)Click

(4)DblCUck

(5)MouseUp

七、文件常见错误和难点分析

1.文件系统的三个控件不能产生关联

也就是当驱动器改变时,目录列表框不能跟着相应改变;或者当目录列表框改变时,文件列表框不能跟着相应改变 。要三个控件产生关联,使用下面两个事件过程:

Private Sub Drivel_Change()

Dirl.Path=Drivel.Drive

End Sub

Private Sub Dirl_Change()

Filel.Path=Dirl.Path

End Sub

2.如何在目录列表框表示当前选定的目录

在程序运行时双击目录列表框的某目录项,则将该目录项改变为当前目录,其Diirl.Path的值作相应的改变 。而当单击选定该目录项时,Diirl.Path的值并没有改变 。有时为了对选定的目录项进行有关的操作,与ListBox控件中某列表项的选定相对应,表示如下:

Dirl.List(Dirl.Listlndex)

3.当使用文件系统控件对文件进行打开操作时,显示"文件未找到"出错信息 。

例如,如下语句:

Open Filel.Path+Filel.File Name For Input As#1

当选定的目录是根目录,上述语句执行正确,而当选定的目录为子目录,上述语句执行时显示"文件末找到"出错信息 。

其中:Filel.Path表示当前选定的路径,Filel.File Name表示当前选定的文件,合起来表示文件的标识符 。

当选定的文件在根目录下(假定驱动器为C),Filel.Path的值为"C:\1",假定选定的文件名为"t1.txt",则Filel.Path+Filel.FileName的值为"C:\t1.txt"为合法的文件标识符 。

当选定的文件在子目录下(假定驱动器为C,子目录为my),Filel.Path的值为"C:\my" Filel.Path+Filel.FileName的值为"C:\my tl.txt",子目录与文件名之间少了一个"\"分隔符 。

推荐阅读