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

vb.net窗体切换有关问题

2012-03-19 
vb.net窗体切换问题vb.net设计的mobile程序在窗体切换时出现以下问题:我有两个窗体,form1,form2,form1为主

vb.net窗体切换问题
vb.net设计的mobile程序在窗体切换时出现以下问题:
我有两个窗体,form1,form2,form1为主窗体
我用以下方法进行切换
点击form1中的Button切换至form2

VB.NET code
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click        Me.Hide() '隐藏form1窗体        Form2.Show() '显示form2窗体    End Sub

点击form2中的Button切换至form1
VB.NET code
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click             Me.close() 'form2窗体        form1.Show()'显示form2窗体    End Sub


先点击从form1切换至form2没什么问题可以正常显示form2,再点击关闭form2显示form1也没什么问题,但是再次点击想显示form2时则显示不出来

这是什么问题啊?
关闭了form2窗体就不能再打开了么?

[解决办法]
Me.close,改成Me.Hide()
[解决办法]
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Hide() 'form2窗体
form1.Show()'显示form2窗体
End Sub

close 表示窗口被销毁了。

如果一定要销毁就 改成

Private n1 as new form1
Private n2 as new form2
'----------
sub a
n2.close
n1= new form1
n1.show
end sub

sub b
n1.close
n2= new form2
n2.show
end sub
'----------------------
.net里面FORM销毁后要重新建立一个新对象。跟VB6有些不一样。
[解决办法]
像一楼说的隐藏了就可以
[解决办法]
Private Shared WithEvents SharedForm As Form
Private Shared IsForm1 As Boolean
Public Shared Sub main()
SharedForm = New Form1
SharedForm.Show()
IsForm1 = True
Application.Run(SharedForm)
End Sub

Private Shared Sub NewThreadForm()
IsForm1 = Not IsForm1
Dim i As New Threading.Thread(AddressOf NewForm)
i.Start()
End Sub
Private Shared Sub NewForm()
If IsForm1 Then
SharedForm = New Form1
Else
SharedForm = New Form2
End If
SharedForm.Show()
Application.Run(SharedForm)
End Sub

Private Shared Sub SharedForm_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles SharedForm.FormClosed
NewThreadForm()
End Sub

热点排行