如何在VB中打开一个新表单但关闭旧表单

Posted

技术标签:

【中文标题】如何在VB中打开一个新表单但关闭旧表单【英文标题】:How to open a new form but closing the old one in VB 【发布时间】:2013-08-31 17:38:16 【问题描述】:

当我的应用程序加载时,我欢迎它,但是当点击继续按钮时需要关闭该表单并打开登录表单。

我的代码:

    Me.Close()
    Dim Login As New Form
    Login.Show()

当我单击按钮时,它只会关闭欢迎表单,然后结束应用程序。如果能帮忙谢谢! :)

【问题讨论】:

尝试将Me.Close 放在Login.Show() 之后。另外,请确保您的欢迎表单不是您的主要表单... 试试看这个***.com/questions/17927615/… 【参考方案1】:

如果您从应用程序中关闭子主窗体,您的应用程序将关闭。但是,如果它们不是子主窗体,您可以关闭和打开其他窗体。也许你可以把它隐藏起来。

【讨论】:

【参考方案2】:

你只需要把 Hide() 而不是 Close :)

例如,在我现在正在做的项目中......

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click // Button1.Click is your "continue" button
        Hide()
        LogInFrom.Show()
    End Sub

【讨论】:

【参考方案3】:

试试这个..

关闭时的欢迎表单上:

Me.hide()
Dim Login As New Form
Login.Show()

在加载事件时在您的登录表单上:

Private Sub Login_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    WelcomeForm.Close()

End Sub

这将尝试隐藏第一个表单并加载第二个表单。当第二个表单完全加载时,它会尝试关闭第一个表单。

确保在项目属性下的应用程序选项卡上,该选项设置为“当最后一个表单关闭时”。

【讨论】:

【参考方案4】:

最好使用Me.Hide()

【讨论】:

【参考方案5】:

您可以设置项目的属性在关闭模式下拉菜单中选择“当最后一个表单关闭时”

更新:-

“项目”菜单 -> 'YourApp' 属性... -> 应用程序选项卡

查找:“关机模式”

改变

“当启动表单关闭时”-->“当最后一个表单关闭时”

【讨论】:

好像找不到 检查这个:- msdn.microsoft.com/en-us/library/… 你可以去你的项目的属性,在那里你必须选择这个!!! 谢谢!现在可以了 【参考方案6】:

有一个shutdown mode 项目属性。这控制了应用程序的生命周期。

确保将其设置为 “当最后一个表单关闭时”

那么您的代码应该可以按预期工作。

发生的情况是您将该设置设置为关闭“当启动表单关闭时”,因此通过在启动表单上执行Me.Close,这将关闭应用程序,此后的所有代码行被有效地忽略了。

【讨论】:

【参考方案7】:

如果您的欢迎表单不是您的主要表单,您只需将您的 Me.Close 放在您的 Login.Show() 之后

Dim Login As New Form
Login.Show()
Me.Close()

【讨论】:

【参考方案8】:

在关闭前显示表单。

Dim Login As New Form
Login.Show()
Me.Close()

【讨论】:

做同样的事情,只是关闭整个事情。

以上是关于如何在VB中打开一个新表单但关闭旧表单的主要内容,如果未能解决你的问题,请参考以下文章

关闭所有打开的表单,除了一些 VB.Net

c#如何实现关闭当前窗体并打开另一个已经创建的窗体。

如何打开一个新表单然后从第二个表单返回到第一个表单而不关闭并重新打开第一个表单

如何从 vb.net 中的子表单访问父表单属性

如何在 Visual Studio 中轻松复制 Windows 窗体? (VB.NET)

如何将焦点设置在打开新表单之前选择的最后一条记录上