【问题标题】:how to close only the main form in vb.net 2010 without terminating the application如何在不终止应用程序的情况下仅关闭 vb.net 2010 中的主窗体
【发布时间】:2011-05-07 11:00:33
【问题描述】:

我有一个登录表单,我需要在不终止整个应用程序的情况下关闭它。我也尝试使用 Me.Close() , Me.Hide() 。登录表单也用作主表单。

【问题讨论】:

  • 调用表单的Hide 方法是不可能导致整个应用程序关闭的。但是,当然,这不是解决您的问题的正确方法。您不希望登录表单在应用程序的整个生命周期中一直存在于内存中。一旦用户登录,他们就完成了它并且不需要再次查看它。你想关闭它。我对上述链接问题的回答解释了如何以正确的方式做到这一点。
  • 非常感谢先生,您的回答帮助我解决了我的问题。非常感谢。

标签: vb.net


【解决方案1】:

我希望这是有道理的......

听起来您有一个 VB.Net 项目,而您的登录表单就是您的“启动表单”。当您关闭该表单时,您的应用程序认为它已经结束;但是您真的想在登录表单关闭后采取行动。

如果您打开项目的“属性”窗口,则可以在“应用程序”选项卡上设置“关机模式”。默认值为“启动表单关闭”时。将其更改为“当最后一个表单关闭时”。

您还可以在此处添加应用程序级别的事件。 http://msdn.microsoft.com/en-us/library/f2bys999(v=vs.80).aspx

如果你坚持你要走的路;您的登录表单必须在关闭之前创建另一个表单,否则您的应用程序将关闭。你可以做到这一点;但是将登录逻辑移到应用程序启动事件中可能更简洁(有关详细信息,请参阅链接)。

在启动事件中,您可以显示登录屏幕、获取结果、决定是否要显示应用程序的主窗体等...

【讨论】:

    【解决方案2】:

    这取决于您尝试关闭或隐藏表单的位置。如果您试图从表单本身关闭或隐藏表单,那么 Me.Close() 和 Me.Hide() 就可以完成这项工作。如果您试图关闭或隐藏另一个表单(如主表单),那么您必须参考表单实例示例:

     frmAbout.Close()
    
     frmAbout.Hide()
    

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-11
      相关资源
      最近更新 更多