期货交易理念精华:一个关于VB.NET的小问题,谢谢高手回答

来源:百度文库 编辑:中科新闻网 时间:2024/05/02 18:33:02
有两个FORM(FORM1,FORM2),我在FORM1中加了一个Timer控件,在他的TICK事件中,写了如下代码:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim frmFORM2 As New form2
frmForm2.Show()
Me.Close()
Timer1.Enabled = False
End Sub
原意是想当TICK事件发生时,将form2显示出来,然后将FORM1窗体关掉.
可是上面的代码却不行,TICK一执行,所有的窗体都关掉了,帮帮忙了,谢谢

因为你的第二个窗体是作为第一个窗体的局部变量,第一个窗体关闭时,它的局部变量当然消失,第二个窗体也就消失了.

你应当重新编写form2类的new方法,在那里建立一个窗体变量,在tick事件中将frmform2传给form2的new方法
这与vb6不同,比较麻烦,但已经在vb.net2005中变过来.

不能用Me.Close() 改成Me.Hide()