VB在打开新表单之前使用me.close

时间:2014-03-29 19:55:14

标签: vb.net

嗨,大家好我是Visual Basic Coding的新手,我似乎无法弄清楚我的编码错误在哪里,我正在尝试创建一个按钮,在关闭当前表单时打开一个新表单。

我有两种形式,形式1是MainForm,形式2是SearchForm

每当我使用此代码时:

Private Sub SearchMButton_Click(sender As Object, e As EventArgs) Handles SearchMButton.Click    
        MainForm.Close()
        SearchForm.Show()
    End Sub
End Class

它会产生错误并说我需要将MainForm.Close()替换为Me.Close() 当我使用这个

Private Sub SearchMButton_Click(sender As Object, e As EventArgs) Handles SearchMButton.Click    
        Me.Close()
        SearchForm.Show()    
    End Sub
End Class

它会关闭两个表单,并且不会保留任何表单打开。请提前告诉我正确的道路。

2 个答案:

答案 0 :(得分:0)

您需要Hide表单而不是关闭它。因为它是你的主要形式,当它关闭时,应用程序退出。

答案 1 :(得分:0)

标准用户界面指南是保持主窗体打开,并在其上打开搜索表单。如果您需要屏蔽主表单,则在选择搜索条件时,请使用.ShowDialog,而不只是.Show

.NET WinForms编程模式意味着您永远不会关闭主表单。如果您偏离此方法,则可以保证遇到各种布局和显示问题。所以请不要。如果需要转到系统托盘或在后台运行,您可以.Hide主窗体。